I think your timing is a bit dicey, especially for Glacier NP, where the Going to the Sun Road (a prime attraction) is unlikely to be open.
http://www.nps.gov/glac/planyourvisit/gttsrfaq.htm
And while all of the Yellowstone roads should be open, you can expect spring conditions (maybe sunny, maybe wet) throughout the park. That's no reason not to go of course, but just be mindful that travel in the higher-altitude Rocky Mountain national parks can be a bit unpredictable at that time of year.
Frankly, the same goes for the Canadian national parks. LOTS of long-distance driving (much of it not especially scenic at all) and while Banff and Jasper are certainly scenic, you could easily find yourselves in a real time crunch, particularly if you wanted to include some of your other "wish list" areas, such as Oregon.
Let me just pose a rather extreme makeover of your plans, just as a thought experiment.
Drive from SLC to Jackson WY and visit
Grand Teton National Park. While it's not terribly big, GTNP offers the kind of "wow" mountain scenery you'd get in Glacier or Banff, and Grand Teton has the great advantage of being located next to Yellowstone.
Visit Yellowstone, then head west via scenic US 12 (the historic Lewis and Clark highway) across Idaho and the
Washington Palouse (gorgeous in the spring) to the
Columbia River Gorge. In May/June the many
waterfalls along the Gorge walls will be at their most impressive, and you can have more mountain experience by visiting
Mount Hood, via the beautiful Hood River valley.
Spend a couple of days in the Gorge area (trust me, this will be a highlight of the trip) then head down the Columbia River, through Portland, to the river's amazing mouth at Astoria. Cross the river and visit
Cape Disappointment, completing your part-tracing of the Lewis and Clark route. Cape Disappointment has waves crashing against rocks, a couple of lighthouses, even more to see.
Continue north along the Pacific coast (not super scenic but quick) to
Lake Quinault and the Quinault rain forest in Olympic National Park. Like the
Hoh valley to the north (a "don't-miss" stop) in the spring the ONP rain forests are astonishing - spooky, other-worldly, breathtaking. (Over the winter, the giant Roosevelt elk that populate the national park eat much of the undergrowth, leaving an eerie scene of trees and moss vanishing into the mist above, with surprisingly long vistas under the canopy - very beautiful.)
Stop at a couple of the beaches along the Olympic National Park's coastal strip (
Ruby Beach near Kalaloch,
Rialto Beach near La Push) - and don't forget the Hoh valley - then move onto Port Angeles on the north coast of the Olympic Peninsula.
Just south of PA is
Hurricane Ridge, a spectacular overlook into the mountain and forest wilderness interior of Olympic National Park. This is a strange non-winter around here, so you might well see wildflowers in the alpine meadows near Hurricane Ridge, or possibly even the lavender fields around PA itself.
From Port Angeles, take the Coho ferry across the Strait of Juan de Fuca to Victoria BC, maybe visit Butchart Gardens (famous and overpriced IMO) before ferrying across to Tsawwassen on the lower BC mainland, then into Vancouver. Visit Vancouver then head south to Seattle to finish the trip.
Here's a rough map -
http://goo.gl/maps/W8PpC - which you can compare to a rough map of the "bare bones" of your proposed route -
http://goo.gl/maps/Xc0EM
As you can see, the "Pacific" route is around 200 miles longer, but that's not much over the course of three weeks, and much of the driving on that route is likely to be faster. It certainly offers more variety IMO, and you'd avoid any problems with high-altitude road and weather conditions. Give it a thought.