I am planning to go ahead with the aforementioned SAS expander and the M1015, but did test the 3ware controller more.
Now I'm really confused as to why badblocks doesn't work right with it. I set up two 3 disk raidZ1 pools, one on the 3ware and one on the mobo ports. I moved my Steam backup file (24GB) to the 3ware pool three times immediately in a row, renaming the file each time. Write performance seemed great to me. Watching the Ethernet transfer speed via windows resource monitor, it would stay a little below 90% of the 1gbps, with a reoccurring dip to about 50% for 12 out of every 60 seconds. That works out to me as almost 80% of the 1gbps transfer speed. Read speed was only about 80% of the 1gbps, but no strange dips to 50%. Next I tested the mobo ports zpool, write performance appeared to average out to about 75% of the 1gbps. Read performance was a little better, about 80% of 1gbps
Do note, my 3ware pool was made up of three 4TB seagate green drives. My onboard connector pool was made up of three older 2TB drives (2 seagate, 1 hitachi). The different drives are likely the biggest discrepancy in the transfer speeds. My testing is far from scientific. A lot is left up to user interpritation, and the tools used are far from optimal. The sole purpose of my testing was to see if my 3ware card would function at reasonable speed with freenas, as it doesn't when running Badblocks.
Also note, Plugable makes a gigabit USB 2.0 NIC(USB2-E1000) that works with freenas and gets about 250mbps throughput.