I don't mind race-classes...but at least in my homebrew I don't make them mandatory. Non-human species (well, anyone, really) can be any/all "base classes": fighter, thief, cleric, mage.
From there, there are some subclass options available to different species, and then at least one or two species-specific classes. e.g. Dwarves Fighters, certain Warrior subclasses, all Mystic classes (cleric, templar, druid, bard), most Rogue subclasses, and then have "Guardians": fighter-cleric multi-class, like if the Dwarven Defender and Paladins had a baby, "Dwarf-adin lite." That only dwarves can take. Elves have a similar list plus fighter-mage combo that is theirs alone, and a ranger-druid combo, Halflings have a fighter-thief "rangerish" specialty, etc...
I'm also not averse to species specific "paragon/prestige-type classes." Like, 3-5 levels (I think is enough) that can be taken to become an elfier-elf or dwarfier-dwarf...You trade out some of your class features for these special trait/features that other species can't be/get.