Ich weiss ja nicht, wie Du sonst so reist, aber ich halte Deinen Plan für unpraktikabel.
Erstens muss nur eine Kleinigkeit schief gehen, z.B. ein Bus ausfallen, der Wagen eine Panne haben, und schon platzt Dein Itenary.
Zweitens ist Marokko ist ein gelassenes Land. Wenn Du mich nach der grössten Sehenswürdigkeit fragst: das ist, den einen oder anderen Nachmittag im Cafe zu verbummeln, stundenlang ziellos durch die Souks zu laufen, am Strand die marokkanischen Familien bei ihrem Badeleben zu beobachten.
Dazu hast Du aber bei dem Plan null Zeit.
So wirst Du zwar viel sehen, aber um den Preis ständigen Gehetztseins und des Gefühls, nie ausreichend Zeit zu haben.
Wenn Du noch nie in einem orientalischen Land warst, wirst Du schon in Marrakesch erst mal komplett erschlagen sein von den vielen Eindrücken, man braucht da etwas Zeit um sich zu „sortieren“.
Nimm Dir erst mal 3 Tage für Marrakesch, die braucht man, es gibt soviel zu sehen.
Dann über Ait-Ben-Haddou nach Quarzazate und Zagora und Mhamid (2 Tage mit einer Übernachtung unterwegs).
Von Zagora aus Trip in die Wüste (2 Tage).
Zurück nach Marrakesch, von dort Bahnfahrt nach Fes (braucht einen ganzen Tag, aber wenn Du Bilder aus dem Zug machen willst, sehr schön).
2-3 Tage für Fes. Von Fes Zug nach Tanger, dort bleiben (die Stadt lohnt mehr als einen Tag), evtl noch Chefchaouen oder Tetouan anschauen.
Als Muss würde ich also empfehlen: Fes, Marrakesch, Tanger, Wüstentrip.
Essaouira ist ein hübscher kleiner Badeort, wenn man ein paar Tage ausspannen will, aber für einen stressigen Tagesausflug lohnt es sich nicht.
Casablanca ist keine schöne Stadt, muss man meiner Meinung nach nicht gesehen haben (jedenfalls nicht beim Erstbesuch), auch Meknes und Rabat kann man sich aufsparen.
Die Bahn in Marokko ist übrigens sehr gut und pünktlich, aber Online-Tickets gibt es nicht.