Wow, there's a lot of mis-information in this thread.
For the love of God (or chosen $diety or lack thereof), whatever you do, STOP TAKING SNAPSHOTS OF YOUR DOMAIN CONTROLLERS, and delete any snapshots you currently have -- they're useless to you if you value your domain and domain. USN Rollback is a resume-generating event. You don't want to go there. Snapshots should never be used with domain controllers.
Also, I can't think of any reason at ALL why you would want to power off any of the DCs while you're upgrading a different DC.
What do these servers do *besides* DC services? Anything?
Regardless of what server upgrade approach you take, you definitely want to prepare the forest and domain schema (read up on adprep), and verify that replication has been successful between all domain controllers, before commencing with upgrading any server.
I personally have a policy of no in-place upgrades on DCs. It may be overkill, but I demote and disjoin, then format, rebuild, and promote. It really doesn't take that long, and it makes me much more comfortable that there won't be any lingering problems from any former operating systems.
If you are going to format and rebuild, then as phoenix79 said, promote new servers to DC, transfer FSMO roles, and then demote old servers. If you're going to insist on an in-place upgrade, then I recommend that you upgrade a DC that does not hold FSMO roles first. Once it has been upgraded, and replication has been completed between the upgraded servers and the others, then I would transfer the FSMO roles to it, and then upgrade the others. Finally, transfer the FSMO roles back to the original server if needed. I'm particularly wary of upgrading a server that holds FSMO roles; if something were to go wrong, you'd have to deal with seizing FSMO roles, etc.
Finally, I recommend making a full backup of one domain controller that holds a global catalog. If something should happen such that you need to restore it (you should only reach that point if ALL of your domain controllers are dead), you'll first want to read up on how to restore a domain controller. It's not as easy as starting a snapshot. Be careful. 🙂