I don't know if it's the CPU or the medium of connection that is the bottle neck, but It'd be cool if we could use USB AND Ethernet at the same time even is it's only 50% faster, this would save hours off a big sync.

I'd implement it by:
1. See if 2 or more files are in the queue.
2. If so, then check to see if both USB and ethernet are connected. Assign files to connection by length - longest ethernet, next longest USB.. If the time to sync will be large, then maybe throw in serial too. But becarefull that you don't end up in the trap of waiting for a song to transfer over serial, when it could be aborted, restarted, and finished over ethernet faster. (That's only an issue when the sync is coming to an end.)
3. If so, then find where the last block is stored of one of the songs. Start the next song's position at the following free block.
4. Now transfer the data over both connections.
5. Wash, rinse, repeat as nessesary.

Note that all that block work is (presumably) needed to avoid fragmentation*. Since the nature of this beast is sequential access, we don't want to alterate blocks of songs - that will increase thrashing and therefore increase the time the harddrive is being read.

*With big enough HD caching and buffers, this may not be an noticible issue.