thank you for the provided details. After a close inspection, it appears that Clover keeps listing the entire target directory content every time there is a file that is supposed to be overwritten. Such behavior, however, does not seem to be correct. I have logged the following issue in JIRA so that it gets reviewed and corrected by our developers: https://bug.javlin.eu/browse/CLO-11223
One of the workaround approaches, as you rightly said, is having the target directory content cleaned up before the MoveFiles component comes into play. You can either consider cleaning up the entire target directory content or you can clean up only those files that are about to be overwritten. The latter option can be achieved by using the ListFiles component together with the DeleteFiles component to run before (in an earlier phase than) the MoveFiles component. Another option is to take advantage of a custom Java code that would zip the files before the moving, move the single zipped file via SFTP and unzip the single zipped file in the target directory.