The Summer 2007 Alsa.es timetable shows a travel time of 5:30 minutes between Faro and Malaga via Seville on the night service leaving Faro at 02:00 a.m and arriving at 08:45 (Spanish Time). You would need to get a train in the evening to Faro which would take about 105 mins.
So you are looking at +- 8 hrs travel and a few hours sitting around.
There ain't any other quicker way I'm afraid as even by air via Madrid it would take this long.
See the following sites for more info:
thomasallen.home.sapo.pt/travel/001.htm
www.alsa.es
http://barlaventostravelblog.blogspot.com