Transfer then Demote: Yes, that is the correct approach.
If you don't fancy digging through all of the different GUI tools you can use NTDSUtil on the command line. But your approach is correct otherwise.
For an environment with 2 or 3 DCs you may as well put all roles on a single DC. There's no benefit to having them split up because you aren't going to run into the associated performance hits.
The only part you should make sure of is that all your Domain Controllers should be Global Catalog servers. Again, there's no downside to this for a small domain / single-domain forest.
As with any operation like this, or really anything that effects your domain, you should ensure you have a good backup and that your current DCs are not reporting errors (DCDiag and the Event Viewer). I'm not suggesting that this operating is especially risky though, it really isn't.
HTH
Chris