I did the research on this before I re-built my file server.
• On NIC's
Go with PCI Express cards if you are using an existing MB, make sure they are good cards, like Intel, and not cheap ones. I recommend the high end Intel cards, they have their own cpu and give you much faster speeds. Intel's Server models are the best in my opinion.
PCI Gigabit cards are nice but are limited to the available bandwidth of the PCI bus plus a whole bunch of other things. I's stay away from PCI cards.
For onboard NIC's make sure its connected to the PCI Express bus and not the PCI bus.
Most Gigabit Realtek onboard NIC's rarely go over 20MB/s, most stay around the 6-7MB/s range. I'd purchase a different card if you have a Realtek NIC.
• On NAS
After doing some research on NAS, I decided to just build a RAID array instead. Most NAS use LAN chipsets that can limit your transfers to around 6-12MB/s. Although several models are available that offer speeds closer to the Gigabit standard, their cost was not worth it to me.
• On Hard Drives
Most modern hard drives can support 40-80MB/s over Gigabit LAN. It all depends on your IE/SATA & NIC chipset. I have single drives that can pull over 80MB/s over my network. You can use software like HDTune to check your drives speed, there are other tools as well under Linux.
As for solid state drives, the cost is not worth it right now. 4 drives in a RAID array will giver you more bang for your buck at this time.
• Best Option (In my opinion)
I use a High Point 2640x4 PCI-E raid card with 4x1TB Samsung F1 drives and can max out the Marvell 88E8056 onboard NIC's on a low end Intel dual core system with 4gb ram.
I also use a HP Procurve 1800-8G gigabit switch. Don't bother with a low end hub/switch if you are streaming large files as they can bottleneck your network. HP makes less expensive models than the 1800-8G, just make sure its a FULL gigabit switch. I've used Netgear, D-Link, along with other brands and none have worked as well as the HP has.
• In the end....
I'd weigh over the cost's of a NAS vs a RAID setup. If you have a spare computer you can set up as a server, personally I'd so with a RAID over a NAS. With Linux you can set up a low cost storage server with Samba or do what a friend of mine does and just share out the drive over the network with a XP machine.
Just remember..
To achieve gigabit speeds with a storage solution NAS/RAID you need to examine your entire network.
Check your NIC's in all machines, make sure they are capable of the desired speeds.
Check all hard drives, a slow hard drive will result in slow speeds.
Check your Hub/Switch, it might not have the right circutry for large transfers.
Make sure long runs of cable are Cat5e/Cat6
Best of luck...