Investigate increasing copy speed / performance for larger files by using shutil.copyfileobj with a larger buffer:
http://www.pythoncentral.io/how-to-copy-a-file-in-python-with-shutil/
This can, potentially decrease transfer times by 10-20% depending on the situation.
Using win32file.CopyFileEx looks like it's going to be the fastest option. It also gives the ability to programmatically access file transfer progress instead of interrogating the file, which feels less hacky.
Added in r245