You can slow down the process by adding delay in Ftp.Progress event. Internally Ftp.dll use 32K buffer while downloading and uploading data.
Also, there are two Upload overloads:
FtpResponse Upload(string remotePath, long remoteStartPosition, Stream source)
FtpResponse Upload(string remotePath, long remoteStartPosition, byte[] data)
You can use them to start uploading at specified remote file position. Your server must support REST command in such case.