puedes definir una sesion con las variables que vas recogiendo y al final, haces el envio/registro de datos por ejemplo
formulario.php
Código PHP:
<?
session_start();
switch($_POST["paso"]){
case 2:
$_SESSION["dato1"]= $_POST["dato1"];
$_SESSION["dato2"]= $_POST["dato2"];
$_SESSION["dato3"]= $_POST["dato3"];
$_SESSION["dato4"]= $_POST["dato4"];
$_SESSION["dato5"]= $_POST["dato5"];
case 3:
$_SESSION["dato6"]= $_POST["dato6"];
$_SESSION["dato7"]= $_POST["dato7"];
$_SESSION["dato8"]= $_POST["dato8"];
case 4:
$montondedatos = $_SESSION["dato1"] . "\n" . $_SESSION["dato2"] . "\n" . $_SESSION["dato3"] . "\n" . $_SESSION["dato4"] . "\n" . $_SESSION["dato5"] . "\n" . $_SESSION["dato6"] . "\n" . $_SESSION["dato7"] . "\n" . $_SESSION["dato8"] . "\n" .
mail($destinatario,$asunto,$montondedatos);
?>
<form action="formulario.php" method="post">
<input type="hidden" name="paso" value="<?= $_POST["paso"]++ ?>">
.....