While you are benchmarking various methods, I would suggest also benchmarking rsync. If the files to be transferred do not change all at once, this should be much faster than copying them all of the time.
Comment on Re: Curious Observation with File::Copy;