I normally keep all final evolutions, and sort them (not by type)
For example, I have "Grass" (Bibarel, Linoone, Pidgeot, Venusaur), "Forest" (Lopunny, Raichu, Arbok, Sceptile), "Water" (Mantine, Seadra, Floatzel, Blastoise), "Volcano" (Rapidash, Ninetales, Arcanine, Typhlosion), "Urban" (Umbreon, Blissey, Delcatty, Persian).
The special boxes are "Unown", "MinorLeg" (Articuno, Entei, Regice, Mesprit, Regigigas), "Legends" (Mewtwo, Manaphy, Groudon, Dialga), "Other" (Stupid Pokémon, Egg Move Fathers) and "TeamPkmn" (Pokémon from my travelling team are left there when replaced in the party, and Pokémon from my battle them are there when I don't use them).