Most efficient way to transfer data from a mid-2007 iMac to a 2017 iMac? I have a an old, mid-2007 iMac running 10.11.6 and a new 2017 iMac running the latest 10.12 release.

The old iMac has 800 GB of data on it, spread across three user accounts, that I'd like to migrate to the new iMac. It has an up-to-date Time Machine backup on a USB 2.0 hard drive. FireWire 400 and 800 ports. Gigabit ethernet. I also have an external USB 2.0 hard drive with enough space on it to hold the contents of the old iMac's drive and I own CarbonCopyCloner.

Most of the data is one user account and is generally iTunes media (ripped from CDs, so DRM-free on the hard drive of the old iMac) and Logic/GarageBand project data.

I'm uncertain of my options for transferring the user data from the old iMac to the new iMac.

Can I use migration assistant and attach the Time Machine drive to the new iMac? Can I boot the old iMac into Target Drive mode and mount it, over the network, to the new iMac and rsync the files on to it? Should I clone the the hard drive to an external USB 2.0 drive with CCC and then import that data onto the new iMac?

The data set is sized large enough that I'd like to not have to restart this process several times. What's my most efficient option for transferring everything from one machine to the other in this case?
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.