The GUI is fine if you're only moving a few files, but for larger and more complex migrations, this built-in Windows utility is the way to go. There are many ways to get a file from Point A to Point B ...
If the powershell.exe process running the script is using next to 0% CPU, you're likely blocked on a command-line program waiting for input from the user. Also, you can run it in powershell_isa.exe ...
A while back, I developed a PowerShell script that I use for creating air gapped backups of my file data. Even though I put a lot of effort into building this script and testing it over and over again ...