Since in one of your other posts, you mentioned that "I am not a networking person and I usually use Network Assistant to configure my switches". I wanted to give you a good starting point for network performance troubleshooting. I have had to troubleshoot performance issues exactly like you described about 20 times over the last few years and what i have learned is that you really need to isolate the components you want to measure, determine the expected performance, then measure them before making any assumptions on the bottleneck.
Becuase it seems like there are a lot of devices involved here, I would start your network performance analysis with a tool like iperf. It is really good at measuring "possible" bandwidth between 2 servers. If you have a gig link, you will see 1 gig speeds from this tool. Also, if the speed it is showing is not reflecting what your environment looks like, then check for speed/duplex mismatches along the way. Rarely, if ever, will you ever get line rate transfer speeds using SMB/CIFS since the protocol is not very efficient. Also, transfering huge number of small files only makes the protocol (in)effeciencies more apparent RAID level/cache and number of disks can also be a factor when you start talking about getting 1gig+ throughput.
Also remember how etherchannel (NIC Teaming) works. If you have multiple 1/10 gig links, one data stream can only go over 1 of those links so your single file transfer will only ever get a maximum of whatever the smallest link is in between. Even threading your test into multiple transfer might not make a difference without verifying your load-balance method. Hope this helps your methodolgy a bit, its where I would start here. These kinds of things might take a while to get to the bottom of without a thourough understanding of all the moving parts.