Los días de la semana van de 0 a 6, pero el 0 es el domingo. (*)
Y si decía lo de los cases y los ifs, es precisamente porque es bastante más desordenado. Puede que sea conceptualmente más simple, pero no creo que sea más fácil de leer.
(*) Si quieres prueba esto:
Código:
alert(["domingo","lunes","martes","miercoles","jueves","viernes","sabado"][(new Date()).getDay()]);