+1 on the "no need to reinstall Windows".
Got the same Win7 from when i installed it back in whenever it came out, up to late 2015, when i finally bit the bullet and moved to Linux for good.
I guess my approach is that if a program only comes as an "installer" instead of a zip file, then it's not a program worth having (with a few exceptions and the big corporate stuff that just does not come any other way).
Some of the more useful installer-only programs i have made portable by identifying the registry keys and saving them separately, so i can "reinstall" the program cleanly on a different system.
Never had to use any cleaning tools or antiviruses.
But then again, my first "job" as a schoolkid was going around fixing computers, building computers, removing viruses and so on, so i ended up knowing the Windows' internals pretty well.
On the transfer to Linux or something else - a good thing to have is to identify all the programs and features you use.
Make a list, determine what it would take to completely reconstruct your work environment from scratch (useful even if all you want is to move to another computer with the same type of OS).
The list might not only contain programs, but habits - i.e. i use junction points on NTFS extensively. It sounds like an easy part, since these are conceptually similar to symlinks on Linux, but you'd need special NTFS drivers and some tweaking to get them to work, which is something to be done at the planning stage, not finding it out in the middle of polishing a new system.
You probably would have a bunch of tools you made yourself, that would have to be recompiled on the new system. It's a good idea to do this early, while you still have a working environment to tweak them in.
The end result is an environment that is portable, which can work on several types of systems.