I'll just report my experience with eSATA.
I have a Promise SATA300 TX4302 (2-internal, 2-external) which I bought because it was a product that was available on the WD website and I made the assuption that meant that it would work with a 500GB WD My Book Premuim ES and it did work on linux without software change. On windows, the driver had to be installed. I then bought a Seagate 500GB ST3500601XS-RK eSATA drive which works too, and that package included a Promise SATA300 (2-external) card which I have never tested.
The Seagate drive does not produce the many apparently harmless log messages the the WD drive produces under heavy use. However, the Seagate drive has a sleep mode after a few minutes of inactivity and takes a few seconds to wake up. Also this particular Seagate drive has a power button that needs to be manually pressed before or during system boot up bios screen.
Also there is a port numbering switch-around that the kernel did between 2.6.21 and 2.6.22 on the SATA300 TX4302 which can lead to much confusion about which drive is which if the kernel revision is changed.
I think you must test an example of a product before deploying it in a remote location. The eSATA drives seem to be fast, but some of them have their own peculiarities.