My sorting methods have evolved over time.
Phase 1 - Stuff with drawers. Didn't like it. Stuff kept getting caught/jammed, stuff fell out of one drawer and into another, blech!
Phase 2 - Tackle/utility boxes. For a long time, I was trying to use these primarily. Except whenever I had too much of something to fit into a section of the tackle box, I'd put the overflow somewhere else. Eventually I was using ziploc bags for that purpose.
Phase Now - Eventually I discovered that when I was building, I was going to the bags of stuff(stuff I had a lot of) more often than the bins. So I'm converting to ziploc bags entirely.
I sort by color first, then type. Each bag only has one type of piece in it(I've gone truly nuts as far as that goes. I have many bags with only one piece inside). Each bag also has a 1/4 piece of index card with the part number, color, and description. Every time I make a new index card, I document it in a speadsheet so that I never have two bags for the same part. I use 6 different sizes of bag: Gallon, Quart, sandwich, and snack size, which are available in grocery stores, and two sizes of small bags found in the craft section of Wal-Mart, or Michaels, or Hobby Lobby. Minifigs are stored in the smallest bag, and labelled with the set that they came with or where I got them(this helps me keep track of which sets I have).
The bags get stored in Sterilite/Rubbermaid Containers of various sizes. The rhyme/reason for what goes where is still evolving. I have some large 41 qt containers, but I'm starting to like smaller containers better.
When sorting: first I sort by color, then use the fishing tackle boxes to separate them by type, then send them to the bags.
When building, I find the bags for the pieces I need and move them to the table, where I have some stackable bins to hold the bags of pieces that I am working with. From time to time I clear out those bins to make room for more bags.
Right now the biggest issue that I have is that this system is a pain to get started, but hopefully won't be that bad to maintain.