Update, May 17, 2016: With Windows 10, and maybe Windows 8/8.1 as well, you don’t need to jump through these hoops. Just move or clone a drive to your new system and boot it up. Windows detects that it has been moved and does a new device scan. If your new system needs a disk controller driver that is not built into Windows (i.e. some kind of RAID device), you’ll want to make sure that the driver is installed before the move.
Windows usually isn’t very happy when you try to move it to a different PC. If you were to take the hard drive out of one PC, install it in a different PC, and try to boot it up, unless the system components were identical or very similar, you would probably be presented with a BSOD right after the boot begins.
There are a few different ways to prepare your Windows installation to be moved to a different machine. One way is to use Sysprep to generalize your installation. This will make it forget about a lot of the hardware-specific information that it has and allow it to be booted on different hardware. The downside is that it loses a lot of your personalizations.
I’m writing about the in-place upgrade method because I didn’t find another article explaining it in detail. This method isn’t necessarily better than the Sysprep method, but it will keep all of your settings and programs. You will lose some installed Windows updates, which you will have to install again after the switch is complete.