What is the best way to travel between Lisbon and Porto, train or bus?
Train can take under 3 hours (or a bit more). Buses appear to take somewhat longer (or much longer), so I say "train".
ditto
try this site for searching booking train
http://www.cp.pt/passageiros/en/
We took the train from Lisboa to Porto last June. It was just slightly under 3 hours. We booked the AP train as we are seniors received a 50% discount. I think that the regular fare was Euro 62 and we paid Euro 31. While booking you need to enter your passport number. When on the train, the conductor comes to your seat and asks to see your passport to confirm that you are a senior. Easy peasy. The ride was very scenic and comfortable. You can bring your own food and drink aboard or purchase on board. We brought fresh fruit with us and enjoyed a sandwich and beer in the dining car. Highly recommend it. Porto was a great experience, fun vibe along the riverfront and recommend a train trip to Pinhao where you can tour Port vineyards. Enjoy Portugal