Yep - you've got it. The ideal setup for a FileChannel would either be:
1) Using a dedicated disk for Flume and flushing to disk on every event.
2) Using a shared disk for flume and batching disk sync's to prevent excess seeking.
The first case is similar to using a WAL, frequent seeks but a dedicated disk, so you can get high throughput. If you try to use FileChannel with a shared disk, and you are sync'ing on every event, throughput is going to be bad.
So I'd expect adding batching to give better throughput, and it sounds like it is.
One question is whether batching should happen as part of the source or if it should be a first-order feature of the channel, since people will have this problem with other types of sources (e.g. syslog source) whenever they want to do durable writes at high throughput.