We went to Marrakesh over the Christmas holiday with our family. All in all, it was a great and memorable family trip.
We stayed in a 3 bedroom house with full kitchen for about $40 a night, near town but not in the thick of it. The home owner, Abdul, ran a taxi and would take us and pick us up, plus would cook meals if you chose. We did a day trip to Essaouira and an overnight to the Sahara for the very touristy camel ride/Bedouin tent thing. That was fun in spite of the very long ride and being very kitschy. There are plenty of people selling day trips or the overnights, and they are easy to book and will pick you up at your hotel. One Italian guy was picked up by the tour company in Marrakesh, did the Sahara trip, and was dropped off in Fez. I know it took him a long time to get to Fez, but the travel was arranged by the tour company and he didn't have to double back.