After a lot of research, we will be taking Amtrak's Coast Starlight from Los Angeles to Seattle (my DH hates to fly) arriving on Sunday evening. Monday morning we take the Amtrak Cascades to Vancouver, arriving just before noon. The cruise leaves on Tuesday.
For our return, since the train schedule is not as convenient, we'll rent a car from National at Canada Place. The one-way to Seattle is $129. We'll take the Coast Starlight back to Los Angeles from Seattle.
Our DD will be six at the time and it will be her first long train trip. She's a great long-haul car traveller, so we're hopeful the train will be fun for her.
Another option for your friends is QuickCoach, which provides scheduled bus service between Seattle and Vancouver.