Hi LittleMiss! I travelled from Sevilla in Spain to Algeciras and then caught a ferry to Tangier to enter Morocco. Be aware that Tangier is really seedy, busy and many people hassle you once you get off the ferry.
If you are looking to go straight from London to Marrakech I would look to see if you can get a cheap flight to Casablanca, the biggest city with an International airport (this is what a British guy I met did) and from there catch a train to Marrakech. I guess this option doesn't apply if you're wanting to see some of Spain on your way down South.
It's hard to advise on how much time to spend in Marrakech. Im guessing maybe 4 days. If you have time I would definitely recommend doing some hiking in the Atlas Mountains and/or going to Erg Chebbi dunes near the Sahara - my personal favourites of the country.
If you want to know more about logistics or sights, simply ask