Man kann mit der WinSCP Assembly über PowerShell ganz einfach SFTP-Uploads durchführen. WinSCP hat dazu eine gute Doku, die auch zeigt, wie man die Assembly als COM Objekt nutzt und wie man Ressourcen zu einem .NET Projekt hinzufügt und in eine temporäre Datei entpackt:
Tag: sftp
Über einen SFTP Server lassen sich Daten über standardisierte Verfahren speichern und abrufen. Die Technik für Server und Clients ist normalerweise Open Source und daher frei verfügbar.