Sieht schonmal nicht schlecht aus.
Auf dauer werden es wohl zu viele elseifs bzw. cases, daher ist die Variante mit dem array einfacher:
//alle gültigen Seiten in dieses Array
$valid_sites = array('index_home',
'index_foobar');
//wenn der GET-Parameter site übergeben wurde und er im array $valid_sites ist
if (isset($_GET['site']) AND in_array($_GET['site'], $valid_sites)) {
include $_GET['site'] . '.php';
} else {
echo '404';
//TODO: error-handling, 404 o.ä.
}