Praia da Rocha is part of the Portimao transport network. Bus timetables are very hard to keep track of in the Algarve. Times change and certain routes stop all the time. However there is an ExPat living in the Algarve who keeps a terrific log and shows timetables for both Rail and Bus networks.
You can find his site here