Há um artigo bem explicativo no blog SSH-SFTP que detalha as diferenças entre SFTP e FTPS e fornece uma visão geral dos cenários para os quais cada um deles é mais adequado.
De acordo com o artigo acima mencionado, cada protocolo tem "prós e contras", portanto, dependendo de cada cenário específico, um protocolo pode ser mais eficaz que o outro.
Aqui abaixo vou recapitular os pontos que - na minha humilde opinião - são os mais importantes:
SFTP é sempre seguro, FTPS pode não ser : SFTP é um subsistema do protocolo SSH e, portanto, sempre é executado em um canal criptografado / seguro; Em vez disso, o FTPS pode apresentar uma estratégia de fallback de FTP simples (não criptografada), caso o servidor não suporte SSL / TLS.
FTPS pode ser mais rápido que SFTP : nas mesmas condições de rede, FTPS provavelmente é mais rápido que SFTP, já que ele executa o canal de controle eo canal de dados separadamente (enquanto o SFTP é executado em um único canal e intercala os pacotes de controle dentro do fluxo de dados)
O SFTP é amigável ao firewall, enquanto o FTP (S) não é : o SFTP é executado dentro do SSH, portanto, ele usa apenas uma porta no servidor (padrão: 22); O FTP (S) requer a possibilidade de o servidor se conectar de volta ao cliente (ativo) ou de um grande número de portas abertas no seu firewall para que o servidor aceite conexões de dados de entrada (passivas).
O FTPS pode delegar confiança, o SFTP não pode : o FTP (S) aproveita a segurança intrínseca SSL / TLS baseada em certificados X.509 que podem ser emitidos por uma Autoridade de Certificação de confiança de ambas as partes. As chaves do servidor SSH podem ser apenas problemas pela parte do servidor e devem ser confiáveis pela parte do cliente.