Tout dépend de la façon dont vous envisagez votre séjour : de nombreux touristes passent une semaine à Marrakech en restant la plupart du temps autour d'une piscine et en effectuant quelques visites de temps en temps.
Si le but de votre séjour est de visiter Marrakech, une semaine c'est un peu long. Pour ma part, il me semble que deux à trois jours suffisent.
Vous pouvez effectivement compléter le séjour en faisant un aller-retour à Essaouira (ça peut se faire dans une journée, le meilleur moyen étant selon moi de prendre un autocar le matin avec un retour le soir)
Par contre, Ouarzazate n'a pas beaucoup d'intérêt (si ce n'est les paysages sur la route pour y aller). Si vraiment vous voulez aller dans cette direction, partez tôt le matin en voiture de location et faites Télouet et Aït-Benhaddou, sans aller jusqu'à Ouarzazate.
Vous pouvez aussi passer une journée dans la vallée de l'Ourika ou une journée aux cascades d'Ouzoud