If my .NET client uses System.IO.File.Copy to copy a file from \\server1\\share1\\file1.txt to \\sever1\\share2\\file2.txt
This is an old question, but I don't think there is a correct answer here.
There are in fact 2 questions (3 questions, but the 3rd is redundant).
The first question is if a .Net process running on a (3rd) client machine copies a file from one network share to another network share, does it makes a difference if the source and target shares are on the same computer (different from the client) vs 2 different computers? The answer is clearly not. There is no mechanism, no secret tunnel between network shares. Data has to travel to the client and then to the other share. It does not make a difference if the operation is a copy or a move, and it actually does not make a difference if the shares are on the same computer as the client (and you really access folders as network shares with a UNC path and not as local folders).
The 2nd question is, how can this round-trip be avoided? Here are some suggestions: