From Rota near Cadiz the only effective route will be by bus or train to Seville, then:
1) Either the twice daily DAMAS/EVA bus from Seville Plaza das Armas Bus Station to Lagos, calling at Faro.
2) Or the twice daily Seville to Lisbon bus via Faro.
See this page on Cubsur's site for more info:
http://thomasallen.home.sapo.pt/travel/001.htm
Once in Portugal, it depends where you want to go. Trains link several of the main centres but long distance buses are also a good option.
If you go to my blog at:
http://barlaventostravelblog.blogspot.com/
Scroll down on the right hand side until you find the panel entitled:
>> Algarve & Portugal - Travel Transport Links
You will find a variety of links there to relevant timetables etc.