A Bitvise tem um ótimo produto chamado Tunnelier, que pode fazer a ponte entre FTP e SFTP. Você pode então usar o FtpWebRequest padrão no .NET.
http://www.bitvise.com/ftp-bridge
No momento, estou testando isso para meus próprios fins e atualizarei com minhas descobertas.
atualizar
Essa ideia não é ideal para automação autônoma, a menos que você queira pular para manter o cliente conectado como um serviço ou algo assim, o que consegui usando NSSM .
Experimentei a automação CLI com vários clientes, incluindo bitvise e winscp.com. Também experimentei essas bibliotecas de classes .net: Winscp, SSH.NET, SharpSSH e o cliente comercial SecureBlackBox SFTP.
SecureBlackBox funcionou bem, mas é muito pesado, pode ser bastante caro dependendo do licenciamento e não concordo muito com sua API.
Sem dúvida , o melhor cliente sftp gratuito para desenvolvimento .NET é o winscp . Eu escrevi algumas classes e métodos de extensão para facilitar o trabalho com isso: Winscp.Extensions