Yes on windows and most linux distros. Linux is easier if you have a generic kernel(or just use multiple kernels) and you know your encryption keys/passwords if used. Windows is tricky, because you essentially need to strip it down to generic drivers so when it's boot up on different hardware, it initialized the driver search.
To find all those extra installed drivers to strip out is easier said than done, and I doubt anyone is going to explain it better in detail. Also, that doesn't mean it will work, only that doing this can work. And yes, you could still have license issues. It's been hit or miss with newer versions of windows for me.
On Mac OS. HAH... good luck. Minor hardware changes aren't bad, major changes will make the OS so slow and unusable, which then makes it harder to dig around and clean the obsolete modules/drivers.
Anyways, for all OSes, backup and fresh install is way faster. My dirty secret is that I'll prep a drive by removing everything but the parts I want to keep(or am unsure of) and resize that into a tiny partition. Fresh install then copy over anything until I have all data/wares on the new install. When done, I'll clone the disk, delete the partition, and transfer the clone image back. Mind you, these are only things I do for friends or if someone pays me. No power user uses just one disk for all their storage, plan ahead and learn to use one small and fast drive strictly for OS and another for software. Dynamic %Program Files% %Program Data% %User Data% etc or whatever windows the path can be set manually.