I’ve tried building an entire map in an external program and importing it in section by section, mesh by mesh and you know what? Totally NOT worth the time and effort. It takes much longer to do it that way because it really is a cumbersome task navigating around in the modeling program, UVing/texturing each and every single surface, dealing with collisions and having to reimport large sections in everytime you need to test the map.
I prefer using BSP to build the majority of areas that the player can traverse, including buildings/interiors, and fleshing out the details using staticmeshes. This way, you don’t have to worry about collisions, texturing your surfaces is a breeze and you can test and make changes to your map fairly quickly.