actually, sftp is a bit more scriptable than scp. You can pass sftp a "batchfile" of commands and control per-command whether their success should terminate the batch.
scp wins on brevity of commandline syntax
scp wins on brevity of commandline syntax
Would be nice to be able to just type sftp user@domain:/file and have it do the right thing.