Cons is that for an Adobe hosted customer, when signing a contract, has a paid quota of API calls to server. If not respected, you might easily end up exhausting that and go overquota with the usage. this will lead to overbilling.
Also, you can put additional load on the web server which might hinder the performance or application connectivity for the end users.
SOAP is also not recommended for bulk operations.
In short, if these API updates will be for hundreds of records then it is fine but in case you are talking about bulk operations flat file is the way to move forward.
FDA essentially gives you the option to connect to external database systems, could be a table, a view etc. but you need to pay for this module or your contract agreement must include this module. Otherwise you could use a 'Linked server' connection between you and the third party and you can either pull data to your environment or query data from their view/tables in real time.
In terms of transferring flat files, the best way would probably be a central repository where all approved third parties connect to store their daily feeds over a VPN connection controlled by a firewall.
Party A |FW|-------------------VPN---------------|FW| Party B
Security control on your company firewall to allow part A access to some system that is used to store feeds from all parties probably on an linux server, you need network admins, and sys admins as well as the help from an architect and security admin to do this kind of stuff on a company
SFTP is also fine, in terms of performance it really is down to line quality and internet speeds.