Definitely Salmon Arm - I had a very pleasant night there between Canmore and Seattle. Much more interesting and on your route than any of the other options mentioned.
Sun Peaks is a ski resort - there's little to do or see there in the off season. It's used by bus tours -- and so seems to be suggested by travel agents & brochures -- because the companies get a good rate since the resort is trying to fill beds in the off season. But there's really nothing there - and it would be out of your way. People use it from Jasper to southern BC - from Canmore, it's going to add in extra driving without any benefit. Certainly would not suggest staying there for two nights, let alone one.
Kamloops is a fairly non-interesting city that has the usual chain hotels without much charm. Again, used by bus tours because that's where they can stay for cheap & find enough beds.
The Salmon Arm area is pretty, with pleasant lakes & rolling hills. A nice contrast from the mountains, plus a good place to go for a boat ride and/or take a dip in a warmish lake. Another option is Kelowna. Or Revelstoke - attractive mountain town with an interesting history (God Rush, trains), historic walks, summer gondola and lots of hiking/bike paths & some neat museums (http://www.seerevelstoke.com/listings/family-fun/)