Tangier is not bad. I guess that your tastes will best be fulfilled in Fez. Ouarzazate is not bad either. Marrakech may be too crowded and touristy for you, but a visit to Djemaa el Fnaa is a must.
I would highly recommend hiring a 4x4 and driving yourself. Morocco is one of the best countries in the world for overlanding.
Tangier: We stayed in the El Minzeh Hotel a couple of years ago and it was nice, even if a bit too much patina. There may be better hotels now.
Fez: The best hotel in Fez is the Sofitel Palais Jamai. Wonderful old town right behind the hotel.
Er-Rachidiya: Beautiful desert area. Two very nice hotels, rather desert camps. Forgot the names, but easy to find.
Ouarzazate: Maybe the Mercure is even better than the Berbere Palace, especially given the price difference.
If you have a 4x4 you should really drive to Ait Benhaddou and then over the Tizi n'Tichka mountain pass (not the asphalted one) to Marrakech. Fantastic!
Marrakech: I already loved the old La Mamounia Hotel and I guess the new renovation by Jacques Garcia will make it Top 5 in the world.
Agadir: Beach location. The Sofitel is rather young, hip, lounge-style therefore you may prefer the Palais des Roses.