Pues para responder tu pregunta, siempre es mejor separar lo mas posible, asi abstraes mas tu codigo y es mucho mas facil de mantener (por decir imaginate si tu cliente te pide cambiar el diseño).
Mezclar PHP y HTML hasta cierto punto es bueno pero cuando haces:
Código:
<html>
<?php
//codigo php
?>
<head>
<?php
mas codigo php
?>
</head>
Inclusive al leer el codigo es mas complicado.