Did several of those migrations recently. As Server 2003 is getting outdated and is approaching its end of support now is good time to think about it. One cannot migrate directly from Server 2000 to Server 2012 and I am guessing one will not be able to migrate directly from Server 2003 to whatever the next Server OS release may be.
First of all have to say Microsoft did a GREAT job with Server 2012. It seems someone kept a long list of all things people complained about and with that release just fixed it all at once.
To migrate first of all your domain and forest functional levels have to be of level Server 2003, so if any of that happens to still be of level Server 2000 you will need to raise. With all migrations I did it was instant, painless procedure. Of course if you still have any Windows 2000 domain controllers now is excellent time to decommission them.
Server 2012 joins Server 2003 domain without any difficulties that I have seen, so long as old domain controllers and DNS are still in reasonable working order domain controller promotion and FSMO roles transfer also works fine without any additional requirements.
A nice bonus – I didn’t notice exactly at what point, but sometime during the transfer the Server 2012 seizes the DNS SOA role.
Did have a situation where old domain controller had corrupt data. Because of that the new Server 2012 domain controller failed to create Sysvol and Netlogon shares. Thankfully it did work with me and allowed to follow the procedure to create those, then I was able to get the old DC working enough to replicate. Then it failed altogether. The new DC at that point did allow me to delete the reference to old DC using dsa.msc. Another nice bonus – it did a fairly good job of cleaning up old DC DNS records. Still left a few behind that had to be cleaned out manually, but a lot fewer than previous versions did.