The only other thing I haven't seen mentioned is number of disks. This can be a limiting factor in performance, particularly towards the lower end. Having more disks that you need will not make you appreciably faster, but having too few will be very noticeable.
In current filers, I don't know what the right ratio would be. I used to use about 100-200ops/disk as a rule of thumb, but of course it depends on the kid of ops. If you have an array of 21-28 disks, then I doubt that's the limiting factor. If you only have 14, you might consider adding some more to the filesystem and seeing if that improves your write throughput. Adding more NVRAM is of course good if possible for your filer.
I'd also do the standard systems reviews, making sure that your interfaces are running at the right speeds, that the routing on the filer is set up correctly (although for ethernet response packets I don't think those are routed - then again, that may have changed; it's complicated depending on the actual media type), and so on.
Still, 20MB/sec with your network configuration doesn't sound bad to me. I'm not sure you'll be able to do too much better than that. If you want more, try slapping a gigabit ethernet card in the puppy. :)
Bruce