The problem is not due to the use of CPU cores, but to the impossibility of using separate threads via a script.
For the same reason the Powershell GUI is freezed and the progressbar is not updated.
A script can be used for simple tasks, not for operations that consume resources and take a long time to complete.
I can develop a desktop application that does all the work automatically, working asynchronously and in multithreading, detecting in advance the list of files and running at the end all the comparison operation.
Remember for example that Windows operating system when executes the Move operation, first reads all the files to move and then performs the copy, paste and remove operations.
For more information you can contact me on Freelancer's chat.