A Amazon fornece serviços de geração de chaves porque alguns sistemas operacionais (tosse, Windows, tosse) podem não facilitar a geração dos pares de chaves SSH.
Com o SSH (e SFTP), a chave pública é instalada no arquivo allowed_keys do usuário quando a instância do EC2 é iniciada. A chave privada é mantida apenas pelo usuário e é apresentada para autenticação no servidor.
A partir da documentação em:
http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-CreateKeyPair.html
parece que a Amazon gera o par de chaves em seus servidores e envia a chave privada via HTTPS. Talvez isso seja menos do que perfeito (idealmente, você e mais ninguém possuirão a chave privada), mas provavelmente não o será, visto que tudo isso ocorre no contexto da sua sessão autenticada e somente você (e a Amazon temporariamente) vêem a chave privada. Você também pode sempre gerar e fazer upload de sua própria chave pública para uso do EC2, mantendo a chave privada estritamente privada.
Para configurar usuários SFTP para autenticação de chave, eles devem gerar chaves SSH em suas máquinas. Depois que eles gerarem um par de chaves, eles deverão enviar apenas a chave pública para instalação no arquivo autorizado_chaves relevante. A chave privada, como o nome indica, é privada.