Yo opino más o menos como popu; yo suelo cambiar un poco en el aeropuerto, básicamente calculo lo justo y luego ya en el sitio busco un banco o casa de cambio (suelen tener mejor cambio que en el aeropuerto).
En Marraquech, aunque no lo conozco, es un sitio ya bastante occidental y si tiene tiempo, quizá pueda comparar en un par o tres de bancos.
Lo que no recomiendo, salvo que no haya otra opción, es cambiar en el hotel, porque ahí sí que se llevan una buena comisión y me da una rabia.....
Yo siempre cambio a la moneda del país, seguro que en Marraquech le aceptarán euros pero en el cambio casi seguro que sale perdiendo.