We aren't really talking about the generic source entities. That stuff isn't exactly useful (or is tricky) to work into game logic. All of the gamemode related entities are specialized; tf_logic_*, flags, train watchers, etc.
Game modes in TFC were difficult to set up if you didn't know what you were doing because there were virtually no restrictions. There were only about three "generic" tf-specific game logic entities, and they could be used for everything for ammo pickups to control points. However,
all the game logic keyvalues that those entities had were
also on almost every other entity in the game. Heck, we only recently got the ability to specify team-specific sounds/voiceovers for purposes of custom game modes, and sound is one of the most beneficial things for teaching a new mode.
Numerous conditionals, attributes, effects, kinds of scoring, hud messages... and on top of it, all of this could be filtered to only affect certain teams/players at any given time. At risk of sounding excessive, having been someone who loved this aspect of TFC, when TF2 came out the choking restrictiveness of the entities was the most soul crushing thing about the prospect of mapping in the "shiny new engine"
edit: (oh and lets not forget, we don't even have the option for 3 or 4 teams, or per-team class restriction, there go a lot of game mode options down the drain...)