When it comes time for mixing I also tend to bounce the full mix to a new track in the project, with the output of the new track set to my hardware out (not through the Master buss.)
This way, as I create a new mix and save new versions of the project file, my latest project file contains a stereo bounce of all my mixes for a quick comparison. As long as I keep my naming straight I can then easily solo to find the mix I want, save and close the latest project file, and open the cwp file that corresponds to the mix I liked.
Of course, if I do a lot of back and forth this gets messy fast, but I seldom do more than a couple of versions of mixes for the same song unless I'm tweaking to someone else's taste and they aren't there for the mix.
What I do that is similar to what people describe here is save the project to a new CWP at different stages in the process. For example,
song_name_tracked
song_name_edited
song_name_cleaned
song_name_sweetened
song_name_mix_yyyy-mm-dd
album_name_masters_yyyy-mm-dd
Peace,
Tunes