File::Copy is a core module. 'Core' means that it is always there. And would be preferred to a system() call even in a pure Unix environment, meaning multi-platform code doesn't matter.
yet I think that system has higher readability. I doubt that very much. copy or cp is a very, well used and debugged function and is fast.