There are two basic types of transfer methods, each with its own advantages and limitations. Both types of connection make use of a remote shell access program such as rsh, ssh or telnet to connect to the remote machine.
This connection is used to perform many of the operations that tramp requires to make the remote file system transparently accessible from the local machine. It is only when visiting files that the methods differ.
Loading or saving a remote file requires that the content of the file be transferred between the two machines. The content of the file can be transferred using one of two methods: the inline method over the same connection used to log in to the remote machine, or the external method through another connection using a remote copy program such as rcp, scp or rsync.
The performance of the external methods is generally better than that of the inline methods, at least for large files. This is caused by the need to encode and decode the data when transferring inline.
The one exception to this rule are the scp based transfer methods. While these methods do see better performance when actually transferring files, the overhead of the cryptographic negotiation at startup may drown out the improvement in file transfer times.
External methods should be configured such a way that they don't require a password (with ssh-agent, or such alike). Modern scp implementations offer options to reuse existing ssh connections, see method scpc. If it isn't possible, you should consider Password handling, otherwise you will be prompted for a password every copy action.