It looks like I can take a train or a bus from SdC to Porto, although according to Rome2Rio the train seems to involve a transfer, which involves taking a short bus ride.
If anyone has experienced either taking the train or bus to Porto from SdC, or better yet if you've done it both ways, which...