I've taken the train to Algeciras, the ferry to Ceuta, and then a bus to Tangier. It's difficult traveling and not very rewarding.
If you want to experience the "real" Morocco, then go to Marrakesh. A truly amazing place.
Iberia flies from Madrid and AF from Paris. Not sure where Air Moroc flies into.