Some time ago I had problems using ftp when uploading packages to upload.ubuntu.com (which stalled at about 13% for 100Mb uploads). Somehow sftp seems not to be affected by the problem. Here’s the relevant snippet to use in your ~/.dput.conf:
[ubuntu] fqdn = upload.ubuntu.com method = sftp incoming = ubuntu login = <YOURUSERNAME> allow_unsigned_uploads = 0
I’ve found sftp to be much more reliable, at least with my (less than stellar) internet connection.
FTP has a separate control TCP connection. If you’re doing a long upload, that control connection often dies (esp. if there is NAT or stateful firewall with a smallish connection-tracking cache between you and the other side)
SFTP does everyhing in side one ssh connection.