As long as you are staying on the same hardware, the easiest way it to make an in-place upgrade. That may not remove exactly all files from the old versions, but for all practical matters you are now on the new version.
Doing like you do now seems complicated to me, since you have to install a new instance which typically has repercussions for client.
In many cases, when people are upgrading SQL Server, they also move to new hardware. In this case you make a clean install on a new machine, and you copy user databases to the new server with BACKUP/RESTORE. For master and msdb, I would be more inclined to script what I need (i.e. logins and jobs) to the new machine, rather than copying the full databases.
I should add that when you make an in-place upgrade, you should be sure to have backups on operating-system level, so that you can restore if things go south. If these machines are VMs, make sure that you have a fresh backup of the entire VM.