Train is possible.
Just so happens that I went to Faro by train last week and have the latest timetable on my desk:
There are departures from Faro Station to Lagos at:
13:19
16:17
There is are departures from Lagos to Faro at:
06:11
06:57.
You will need to allow 45 minutes from landing to getting a bus or taxi to Faro Station and another 30 to 45 minutes to getting to the
station, buying your ticket and getting on the train.
Have a look at the following sites for more information on buses and trains.:
www.cp.pt - english version - Portuguese Railways
www.algarvebus.info
www.solpraiaferias.com/index.php?content=cheg_en