One of the better clients I have encountered is Transmission.
It supports magnet links, NAT traversal and all kind of operations on files that I've grown accustomed to from uTorrent 2.x. That includes selecting/disabling certain files from a torrent and moving files to another download location or selecting a location when a torrent is loaded.
To use Transmission you will have to run the daemon which is the background "downloader" and access it with a GUI or CLI client.
Adding a magnet when the transmission daemon is running on a given port is a simple matter of:
transmission-remote lanbox:9191 --add magnet:?xt=urn:btih:78a93b68819100e4 (...)
Where lanbox is a host alias and 9191 is the listening port of the transmission daemon.