I took my dad on the Via Candian (1) from Toronto to Vancuver. We had an absolutely amazing exeperience. You see Canada in a very unique way, meet interesting people, and time does this interesting thing when you're on a train for 4 nights. Highly recommend it (If you get your own sleeper car!).
I did the whole country on that (although didn't do a sleeper car).
Tips: If you're gonna get off and on, especially in Western Canada, know when the next train leaves. Sometimes it's 4 days in between. Also don't get off the train in Thunder Bay, no matter what they say, you don't have time to get to the Subway sandwich shop and back.
I see a sleeper cabin for two listed for $1558 (discounted from $2428 reg price) and there are often even steeper discounts available. [0]
You can get an "upper berth" sleeping ticket with meals for $968.50. Considering that's a 4-day sightseeing trip compared to a 4-5hr flight I don't think a $300 premium is outrageous, do you?
In fact, the cheapest business class ticket one-way I can find is $871. That makes the difference less than $100!
(In fact I am amazed that the prices are in fact comparable between a 4-day train trip and a 5-hr flight. Definitely something I didn't expect.)
I would not recommend the upper berths. You have just a bed behind a curtain. For the trip with my dad I got us each a single sleeper cabin. I think it was $1,500 each, and having your own little room to go to was great to have.
The trip was for my dads 70th birthday, and a long promised gift (He took me to Italy, Croatia and Bosnia where we almost got killed and the deal was I’d take him on a trip) so it was worth spending a little extra for the comfort.
(1)https://www.viarail.ca/en/explore-our-destinations/trains/ro...