Hello there,
Portimao is a very nice marina, although a bit pricey, but the entrance is big enough to
anchor and very well protected... and the surrounding is beautiful with great beaches inside.
Olhao is also a nice place with the possibility to
anchor in the Ria
Formosa right behind the Ilha Culatra, with nice small bar and restaurants and a small supermarket. The Ria is very well protected too for anchorage.
if you are planning to touch ground further north, I would recommend Peniche, and have a walk around, the scenery is breath taking, also if you can, go and visit Obidos, a medieval town almost intact and if you can afford it, spend the night in the Posada in Obidos.
On the way to
Gibraltar, stop in the Guadalquivir for the night or so, you can anchor there, no facilities tho. Of course Cadiz is a must.
I don't recommend Tarifa as the easterly swell come in and can be dangerous.
I hope it help!!!
Sebastien.