If you're going to have BIG files that you want to transfer easily and securely with .NET with a minimum of components, you generally will want to go with FTPES, also known as FTP through Explicit SSL, and sometimes known as "FTPS" or "FTP-ES". That is the only version that's supported with a pure .NET approach with no third-party plugins needed.
With SFTP, or FTP over SSH, you'll have to deal with exchanging keys manually between you and your clients, unlike FTPES. You'll also need a third-party library to make it happen, since .NET doesn't have built-in functionality for SFTP.
If you want to write a client to use FTPES, all you will have to do is use FtpWebRequest and set EnableSSL to true.
What to avoid:
Don't use FTP through Implicit SSL. It's been deprecated for
many years at this point and should be considered obsolete.
Don't just PGP-encrypt the
files and then transfer them over plain old FTP. With plain old FTP,
all user names and passwords are sent in clear text, which will
easily allow an attacker to at least intercept your PGP encrypted
files.