I keep all my sets in their own plastic bins with their instructions and pieces. I prefer the ones where the handles flip up to lock the lid in place.
All of my parts not in sets, for custom building and modeling, are sorted by color in approx. 50 clear tackle boxes labeled with a code on the outside (BLK1, BLK2, GRN1, GRN2, etc..) and mostly sub-divided by Bricks, Plates, Wedges, Slopes, Everything Else. I maintain a brickstore database of my inventory so I can quickly lookup how many of a certain piece I have and in what quantity as well as learning which container I have stashed it in. I can fnd nearly any piece in a few seconds since the shelving unit containing the inventoried parts are next to my comptuer station. Parts not yet inventoried are stored in plastic containers with lids, where I then sub-sort them into baggies by brick, plate, wedge, slope, everything else, then one baggie at a time I inventory them into brickstore and place them in their respective destation containers.
Minifig pieces and tiny technic pieces are one exception to the sorting by color and then piece hierarchy, they not sorted by color at all and they just have their own containers (MNFG1, MNFG2, TCNK1, TCNK2, etc...) sorted only by part.
Another exception is baseplates and rather large pieces, they go into a plastic bin and get inventoried into (LRG1).