Best practice with multiple DCs is to manually move them. dcpromo will move them just fine on its own, you just don't get to decide where they go.
Best practice with only one other DC is to let dcpromo handle it.
You can save yourself the trouble of using three different snapins (one of which needs a dll to be registered) and transfer all the roles using ntdsutil. Make sure you transfer and not seize.