Just looking at the route I'd be tempted to Go Whistler to Kelowna, to Revelstoke, to Kicking Horse, and then depending on who's getting better snow, either head south to Fernie and Castle (with a stop at the Lussier Hot springs on the way!), or head east to Lake Louise and Sunshine.
For must see resorts Fernie is great if it's puking or has puked snow (if it's puking the bowls will likely be closed) but it can also get a lot of rain.
I prefer Lake Louise to Sunshine, but if I was making a trip across the province I'd do both just to say I'd done it, and then go back to whichever resort I preferred.
Other than that I'd let the snow tell you where to go!
snowseekers.ca has a daily/48hr/weekly snowfall total list so you can keep track of who's getting dumped on... I'd rather board at one resort for a week with amazing snow than tour all over with lackluster snow.
I wouldn't say three weeks is too little to do all that. Once you're in Revelstoke all the resorts are 1.5 hrs or less away. I remember doing an east coast trip a few years ago where we did three resorts in 5 days, and another on the way home.