I have a program that attempts to write quite a large amount of text to a file on a remote server overseas, which has a slow network connection.
Using the following
I'm not a security expert, but in my opinion, this is most related to permission issue.
Everytime you write somethin to a disk on remote server the permission is going to be checked against the user that execution that action. The permission to write, naturally.
In case instead of the copy, that control is executed only ones. So it's much faster.
In fact, to prove this you can try to copy several files over the network and after copy ZIP files (with the same amount of memory in zipped state) over network. In second case it will be much faster, as permission control is executed only once, for single ZIP file.
Hope this helps.