warto dodać jeszcze
<?php
else {
include ('error.php');
}
?>
i w Error wpisać coś w rodzaju "Strona nie istnieje/Przestań się bawić URL'ami"

Bo jak zostawimy tylko tak jak jest wyzej to gdy ktoś postanowi pobawić się url-em i wpisać coś innego to wypada o tym poinformować

Jeszcze nie wiem czy nie powinno być sprawdzenia !$_GET['id'] (czyli czy jest pusta) a jeśli pusta to by ładował plik który ma się otwierać jako domyślna strona

Całość:
<?php
if (!$_GET['id']) {
include ('dafault.php');
{
include ('dzialy/'. $_GET['id'].'.php');
}
else {
include ('error.php');
}
?>
Najpierw sprawdzane jest czy zmienna id została przekazana, jeśli nie - ładuje plik domyślny, jeśli tak - sprawdza czy jest numeryczna i czy plik istnieje i ładuje odpowiedni plik. Jeśli któryś z tych warunków nie został spełniony ładuje error.php
Jeśli koniecznie chcesz switch to powyższy kod wystarczy przerobić tak by zamiast include było
$casewarunek = 1/2/3 ... w zależności która opcja, a następnie przeprowadzić switch dla $casewarunek z wartościami case 1/2/3