As my collection has grown I've found I use an "all of the above" method in terms of both sorting and storage:
- Pieces primarily get organized by type (plate, brick, tile, slopes, curves) and then subdivided by shape (specific sizes, regular or inverted, etc). However I make an exception for rare colors and transparent pieces, which get sorted by color instead of type to make them easier to find.
- Vehicle parts stay together (axles and wheels, hoods and roofs, etc)
- Odd pieces like handles, bars, technic, etc get grouped together into common parts lots and further subdivided as they grow larger.
- Small to medium size parts lots go into drawer organizers.
- If I only have a few of a specific piece, they go into a tiny ziploc bag and then into a drawer along with other rare bits.
- The biggest lots go into gallon sized ziploc bags and organized in bins. I like the bags because there's never any wasted space. I found drawers would either be half full or overflowing depending on the current project. With larger parts like bricks and plate pieces I was constantly juggling drawers around to accommodate.
- Minifigs go into transparent hinged organizers with subdividers.
Ultimately I have found my approach has evolved with the size of my collection and how I build. I have a huge bag of primary yellow and blue pieces that are sequestered apart because I don't use much of either color...