Several friends of mine are going to Morocco this year for short periods of time so here's my list of greatest hits for a two week visit:
1 Arrive Casablanca – travel to Rabat
2 Rabat – medina, Ouadayas, royal palace, Chellah, Tour Hassan
3 Train to Fès
4 – 6 Fès – medina tour
7 – Meknès & Volubilus – medina and royal palace, then the afternoon exploring the ancient Roman ruins
8 – all day train ride from Fès to Marrakech (no night trains as far as I know)
9 - 10 – Marrakech - medina, Saoudian tombs, the mosque, the Menara
11 - 12 – 3 hour bus to Essaouira - beach, medina, fresh seafood dinner on the pier
13 – bus to Marrakech and then train to Casablanca
This encompasses the four imperial cities plus a stop on the coast. It's an ambitious schedule but travelling is easy in Morococo and the transport is reliable. For example there are connecting buses from the Marrakech train station to Essaouira and other points south. For the day in Meknès and Volubilus I'd suggest hiring a taxi and driver for the day. There's also a lot more to see in Marrakech and Fès than I listed so check your friendly Rough Guide or Lonely Planet.
I think you’d need about a month of constant traveling to see all of this plus:
§ The North – Tangier, Chefchaouen, and Tetouan
§ The South – Agadir, Tiznit, Taroudant, Ouarzazate (where M is from), Agdez, and the real desert, plus ksars like Ait Benhaddou
§ The Mountains – Ifrane, Azrou
§ The Coast – El Jadida, Safi, Asilah, and many other charming stops
I have to say that my favorite city is Tangier but then I arrived from the south by car, rather than facing the onslaught when arriving by ferry, which many travelers find distasteful. I entered Spain via Ceuta which was not as difficult as I thought so I imagine the reverse is equally painless.
I actually found Casablanca an interesting place, though I was only there for a day and probably would have liked it less if I hadn't been with a group of people. I have a thing for faded elegance and it was certainly different from everywhere else I went in Morocco.