With so many different (and IG worthy!) cities in Morocco, you're bound to find yourself traveling all over this beautiful country. But what's the best way to get from city to city?
Train travel in Morocco is relatively easy and affordable, if you can get past the awkward setup. To be fair, I only took one train during the 10 days I was there, so I'm not sure that ALL of them are the same. I purchase second class tickets on a Marrakech to Fes train, and I was seated in a "compartment" with 7 other people. Not only are you stuck in a little (tiny) "room" with strangers, but the seats are also set up facing each other - 4 one one side, and 4 on the other - so you have to stare at someone the entire time! Admittedly, a bit awkward at first, but about 45 minutes into my journey I was over it and it just started to fell normal.
Train travel in Morocco isn't the cheapest option, but it definitely won't break the bank. My train from Marrakech to Fes cost 195Dh (about $20). If you want to splurge, you can always buy the first class tickets for only $10 more. I didn't experience first class, so I can't tell you if it's worth it or not, but I hear it's a much more comfortable experience.
I had a hard time finding tickets for sale online (I'm not even sure if that exists!), but most trains are frequent, and if you arrive at the station at least an hour early, you should not have trouble purchasing a ticket. The train station in Marrakech does accept credit cards, but I'm not sure all of them do.
Traveling by bus in Morocco felt just about the same as traveling by bus anywhere else. Terrible. Okay, maybe I'm exaggerating. It's fine, really. Just not the best option if you're looking for a relaxing trip. However, if you're on a budget, this is probably the best option. Buses also cover many more routes than trains do.
During my trip, I took a bus from Chefchaouen to Tangier, and it only cost about 45Dh ($4.50). One thing to note is that you do have to pay for your stored luggage separately. No one tells you this, though. At least I was not told when I went to buy my ticket, a few days earlier. So then on the day of, I had to scramble back into the ticket office to pay for my luggage. It doesn't cost much, only a few cents (if I remember correctly), but just remember to pay for it when you book your ticket to avoid any unexpected delays.
I traveled with CTM Bus, but there are quite a few options.
By far the most comfortable option is to travel by taxi. Taxis in Morocco will basically take you anywhere you need to go. I'd recommend doing some research first to find out how much your trip costs on average, as they tend to try to rip off tourists. You can, of course, haggle. A lot. Do haggle, please.
You're also allowed to split trips with other people going the same direction. I had to take a taxi from Fes to Chefchaouen because the bus tickets sell out days before - which I didn't know! So I was stranded at the station, and a taxi driver approached me offering to bring me there. The initial price he offered was somewhere around $100 for 2 people, which to be honest isn't THAT much for a three hour ride. However, when I told him that was too much, he quickly said he had more people going and if I wanted to split the ride, I'd only pay $25. This is still a significant increase from the $7 bus for the same route, but the ride was infinitely better. Not only did I arrive faster and have a more comfortable journey, the driver also stopped at cool spots along the way for us to take photos, and at the bus station so I could purchase a ticket for my next trip, before dropping me off at my hotel. The taxi was also a small van, so all 4 of us fit very comfortably. To me, this was definitely worth the extra few dollars.
And lastly, you can obviously fly from any one of the major cities to the other. The flights aren't expensive, with a flight from Marrakech to Casablanca costing around $60 depending on the season. However, I find airplane travel extremely exhausting - airports, security lines, blergh! No thanks.