Bus
There are numerous bus companies throughout Morocco, but CTM, the national carrier, is widely considered the most reliable. There are CTM offices in every major city in Morocco. Prices are reasonable (Casablanca to Marrakesh for $10USD for example) and the buses are comfortable. Plan to book one day in advance.
Grand Taxis
These are shared taxis that will typically fill up with six passengers before leaving. You can take them to get around a city, but also to get to nearby towns as well.
Petit Taxis
Smaller than grand taxis, petit taxis stay within city limits and are almost always metered. They will typically take up to three passengers.
Train
There are two passenger lines in Morocco. One goes from Oujda to Marrakesh and the other runs between Tangier and Marrakesh. Trains offer 1st and 2nd class options as well as couchettes for longer journeys.