I know most everyone here is in the Northern Hemisphere, but for those of us in climes further south there is a good value yarn source here in Oz. Bendigo Woolen Mills have been around for a long time but just recently they've added a website www.bendigowoollenmills.com.au that shows the range and has online ordering.
It's factory direct and they only stock natural fibres. Most of the yarns are around AUS$10.70 (about US$9.70) for big 200g balls, up to AUS$15.00 for alpaca. The colour range is pretty good, not brilliant, but there are some nice shades. They do send overseas too.
No affiliation, I just think the yarns are good value. I've used them in the past and the quality was good.