secondo me, l'if è meglio per funzioni, mentre lo switch per controllare valori.
Esempio nel quale userei if:
esempio nel quale userei switch:Codice PHP:
if(isAdmin())
{ echo "Pannello di controllo"; }
Codice PHP:
switch($_GET['action'])
{
case "modifica": $titolo="Modifica il post"; break;
case "nuovo": $titolo="Nuovo Post"; break;
case "thread": $titolo="Nuovo 3D"; break;
}