I have always used the first method in the past and had no problems.
Only transfer the roles when all DC's are online and leave a few hours after transfering the roles for everything to sync before using dcpromo to remove a domain controller. That will allow everything to sync up properly.
Thanks a lot. What more can I say ?