I took the Amtrak Cascades from Seattle to Portland recently and was pretty impressed. It’d be a bit silly to fly, but it’s long enough that if I drove myself I’d be kinda tired when I arrived. On the train I got to nap and eat something. The boarding experience is great and the staff were pros. It’s not cheap though; I think it was about $90 each way for business class, and about $70 for coach. I plan on taking it to Vancouver BC next. :)