Hello,
You're correct in that sysstat just gives you the busiest disk (the same way it only shows you the busiest CPU). Anyway, invoke a priv set advanced, then before one of these events you're seeing occurs (if you can predict it and it's not just all the time) invoke the following:
statit -b
Wait a period of time (usually more than a minute or so) relevant to the operation you're trying to monitor and then type the following:
statit -e
Make sure your client buffer is set to a bunch of lines (I keep mine around the 2K mark) and then scroll up to the disk/aggregate section. This will show detailed information on each individual disk within each plex that makes up your aggregate. If you can tie an aggregate back to a particular operation and then see exactly which spindles are busy you'll know what client/process might be causing your busy disks.
If no particular process seems to be the culprit (you're not seeing high network I/O correlating with the busy disk for example) look to see if you have dedupes running which can be very disk intensive.
Hope that helps,
Chris