Hi, are you still there and want more suggestions or do you go directly to Gibraltar?
I have made several times the voyage from Algarve to Balearic Islands so I can say that I know some interesting spots.
A Ilha da Culatra is a nice place. If you go slowly and your draft
is not much you can stay also on the protected waters in front of Tavira. They can pick you with an water
taxi to have a tour of the city that is a pleasant one.
As have already been said the Guadiana is a nice river and you can go many times upstream till Alcoutim (you have always some yachts there). Or you can stay on the mouth and Vila Teal de Santo Antonio and Ayamonte are also nice places (not as nice). Both have small marinas. If on the river you would have a tide that can reach 4k.
Some more miles to the East If you want to stay at anchor you can stay in El Rompido, before Huelva or you can stay in Chipiona a very nice small fishing
town with a not expensive marina.
After that you have Porto de Santa Maria and Cadiz, both interesting, specially Cadiz.
Tarifa is a nice place but you would have problems having a place there. They have plans for a marina but it seems they are still on paper.
You can cross the straight and as was said try Tanger but they have not conditions for yachts and is out of EC.
I would suggest you other thing. Stay in Ceuta, a nice place that is Spanish and has an inexpensive and good Marina, go to the Guardia, have a beer
with them and ask them to call the Morrocan guy that organizes tours to the near and beautiful old city of Tetuan and Tanger. You don't even need a passport. It is not expensive and it certainly worth the money
, specially Tetuan. On that tour they go also to Tanger but it is a very fast visit. The lunch is in Tetuan with a music
and dance spectacle included.