Tu problema es que estás intentando evaluar si un número es igual a una cadena y como un número no es lo mismo que la cadena de caracteres con ese mismo valor numérico, no te da los resultados que esperas.
Es decir, por ejemplo la cadena "2" no es lo mismo que el número 2.
Tendrías dos soluciones. Primero es convertir la cadena a un número entero.
x = prompt("Introduce un numero: ", "");
x = parseInt(x);
Con parseInt() haces ese trabajo y ya tendrías un valor numérico para poder trabajar convenientemente.
Luego tienes otra opción, que es transformar tu switch para que te compare con cadenas.
var x;
x = prompt("Introduce un numero: ", "");
switch (x) {
case "1":
document.write("Es Lunes")
break
case "2":
document.write("Es Martes")
break
case "3":
document.write("Es Miércoles")
break
case "4":
document.write("Es Jueves")
break
case "5":
document.write("Es viernes")
break
case "6":
case "7":
document.write("Es fin de semana")
break
default:
document.write("Ese día no existe")
}