De hecho es mucho mejor usar sesiones, las cookies al estar guardadas en el cliente son vulnerables a algún ataque, y no es necesario que "ensucies el código" si lo haces bien puedes pasar los datos sin ningún problema:
pagina1.php:
Código PHP:
Ver original$_SESSION['datos_formulario'] = $_POST;
header('Location: pagina2.php');
pagina2.php
Código PHP:
Ver original$datos = $_SESSION['datos_formulario'];
unset($_SESSION['datos_formulario']);
y listo, ya solo los usaste 1 sola vez para el paso de datos, y no tuviste que establecer una cookie muy grande (que también tienen un limite de tamaño) y los datos estan seguros en el servidor.