Filezilla to the rescue
After looking at various options I shortlisted Filezilla and was surprised to find a free tool which was easy to use with loads of features and overall did an awesome job.
Initially I faced connection lost error messages everytime I tried to connect to the server. After a bit of experimentation realized that I needed to use passive mode to get it to work (for move info http://dant.net.ru/wiki/info/networking/ftpmodes).
Filezilla is a great client to use for FTP. It has inbuilt ability to restart transfer on failure and can handle multiple transfers at the same time. This can drastically speed up transfer time when your fileset has lot of smaller files instead of one big file. I recommend changing the “No. of simultaneous transfers” setting to 10 instead of the default 2.
Lastly, it also caches remote file list instead of fetching it every time from the server. This speeds up navigation inside the client.