We are visiting the same 3 destinations in September and looked into this. We are flying open jaw into Porto and out of Faro to avoid having to double back. If you are flying in and out of Lisbon, you will have no choice. You can go Lisbon-Porto-Algarve-Lisbon or vice versa. When I looked at bus or train, the time difference was not huge; bus is cheaper, train has more schedule choices but there is risk of strikes at this time. One option is to fly between Porto and Faro. But dealing with airports makes this a toss up compared to a train. We are going to take train from Porto to Lisbon, with bus as backup if our train is cancelled by a strike. We are going to rent a car in Lisbon, drive to and tour Algarve and drop it off in Faro when we fly out. Depending upon the number in your family, a rental car (try Zest) may be more convenient and not terribly more expensive compared to trains, if you pickup and drop off the car in Lisbon (no one way fee).. When I was planning, I thought it would be a time waster to use bus or train to visit the little towns and beaches in the Algarve, especially if our time is limited. Good luck