Morocco is more or less within the European package tour axis and is a major destination. Consequently there are any number of combinations of flights and connections to get into the country. The country has four international airports, the principal being Mohammed V International Airport, Casablanca, although even the smaller airports receive international flights, in particular from France.
The only direct connection from North America are two flights operated by Royal Air Maroc from either John F. Kennedy and Montreal to Casablanca.
From almost all the major European capitals the options are almost endless, with virtually all the main airlines and small package and charter operators flying in either to Casablanca or Marrakech. Regional and Mediterranean services are also frequent and competitive, so clearly some effort spent researching your route could save you quite a lot of money. This is also the case when flying in from the U.S.A., since finding a cheap flight from New York to London, for example, and then hopping on a charter flight to Casablanca will be a lot cheaper than flying direct from New York or Montreal on a scheduled flight.
If you are flying in from Australia of the middle east the same applies, although you can pick up a non-stop scheduled flight from Dubai on Emirates Airlines, from Abu Dhabi on Etihad Airways or from Doha on Qatar Airways. Both Saudi Air and Air Moroc fly in from Saudi Arabia.
There are no direct flights in from the far east, and neither from South Africa.