See these links:
www.algarvebus.info
www.solpraiaferias.com/index.php?content=cheg_en
There are no direct Porto - Lagos links. There are two options with reasonable connections in my opinion:
1) Rail
Porto - Lisbon (Gare Oriente)
change train
Lisbon (Gare Oriente) - Tunes
change train
Tunes - Lagos
Transit time about 6-7 hours.
2) Coach
RENEX is probably the best for this -
Porto - Vale Paraiso
Change Bus
Vale Paraiso - Lagos