Sorry to revamp this thread, but I'd like to suggest Qodot and Trenchbroom, which has come up recently. Maybe this is nothing new by now, but just in case. I'm personally not too fond of the workflow (I find it confusing to set up, and perhaps overly complex), but it's a more than viable way. Perhaps the best one currently available.
I tried making my own generalized editor in godot in the last two years, where the goal would be a mix between Hammer and Unity's Pro Builder, but... I got completely stuck at the coding the 3D modeling part... that just pulled the floor from under my feet, really...
I wish there was such a generalized, engine agnostic 3D map editor.
@justinbarrett, I'd just like to add to what Calinou said: I've used Hammer for a few years, and I also played around in DarkRadiant (Dark Mod's editor), and the workflow in those is really the most adequate. You don't just set up the geometry of the map, you also place embellishments and 3D models, as well as triggers, logic, effects, sounds, lighting, AI scripting, paths and navigation,... you virtually make the entire game in one place, really.
But even just as far as geometry goes, in blender you get UV stretching if you reshape things, and you have to manually fix the UVs. This isn't good for level editing, and it doesn't happen in actual level editors. TextureBuddy (companion to the LevelBuddy blender addon, mentioned above), helps keeping the textures in world space and fixing the UVs for you, but other than that, Blender just isn't really good for a traditional kind of FPS level design. Problem is, Level/TextureBuddy are pretty much abandonware, and they still lack many needed improvements... I tried to poke at this too, but Blender's API is still very mysterious to me.