I don't know about efficiency or scalability(how large of files it will handle) but I've used this for some time within a backup script I have that copies files onto a network drive. Perl supports UNC paths, so I don't see any real barriers to your using it for copying between machines. My backup script wasn't written for or tested to the level of doing anything serious - but it has served me well thus far.(and it was a fun excercise of 'wonder if I can do this')
open(SOURCE, "<$source")
open(DEST, ">$file")
binmode SOURCE;
binmode DEST;
print DEST <SOURCE>;