Most efficient way to transfer data from a mid-2007 iMac to a 2017 iMac?

You've enumerated the options quite well there, most of which are described in greater detail by this Apple support document.

rsync-ing the three home folders across might not preserve all meta-data (which may or may not matter to you), and there are aspects of a user account that exist outside /Users/<username> so rsync alone wouldn't result in working user accounts. Don't be tempted to rsync anything outside /Users!

Plugging the Time Machine drive into the new machine and using Migration Assistant is likely to be the simplest and fastest option. If you want to take the opportunity to leave some cruft behind, it might not be best suited - I don't recall what level of granularity is offered.


If the old iMac really has gigabit ethernet you can also connect both Macs to a gigabit switch (which is connected to a router of course) and use the migration assistant. Could be even faster than through USB 2.0 with the external HDD.