We bussed it. Very quick. There is even a public bus that goes diretly from the airport to the bus station. Also, a pretty ride.
Ferries, there is a fast ferry. From Tarifa it would have been 35 min, so from Algeciras, an hour seems likely. But advice from this board convinced me to stay put in Tarifa/Puerto. I am glad I did, not because of what Tangiers had to offer, but for what I would have missed in Tarifa/Puerto.