pues claramente el switch() deberia ir dentro de una cabecera, con respecto al tamaño, practicamente no deberia ser un problema, pues se preocupa de entrar solo al k debe, por eso es mucho mas rapido k con IF(), y se llegase a tener sub secciones, se hacen otros switch dentro de los case con las sub secciones de cada seccion
Saludos