running VIS in fast will result in lowered framerates as the visibility calculations are less efficient. it's OK for testing, but any release should be on full
Similarly RAD in fast will result in poor lighting as the light doesn't bounce as naturally, meaning you'll often get really dark shadows around your light sources and under rooves etc
So that is a fairly big difference
For a large open PL map, I'd suggest using areaportals. presumably there are some inaccessable rooves or places that won't be at all visible from certain points. Examples would include the end point not being visible from the start (usually). you can firstly use skybox brushes on the inaccessible rooves (it works best with peaked rooves because it's plausible you could only see one side of the peak at a time, it's also very good for rooves that the player will never be able to see the top of. By lining up these skybox brushes, the buildings they're on and flat ground, you can make giant areaportal doorways that will be able to separate off large parts of the map, giving huge boosts to not only framerate but compile time as any visibility calculations are "bottlenecked" through the portals, meaning only a few calculations end up needing to go through them. Take a look at decompiled Badlands for a good example of this.
other than that, Hint/skip brushes will really help, use them in conjunction with viewing the portal file and doing a super-fast compile in order to get fast feedback on how many visleaves you reduce each time. Remember, the fewer visleaves, the better.
Finally, if you're using a large number of props and you can't use areaportals to hide them because it's too open or because many buildings are func_detail and so don't blook visibiity, feel free to hide a few occluders in larger walls. just be sure said occluders don't inadvertantly cover any windows
Hope this helps, others - feel free to correct me if I'm wrong
EDIT: no, you have to use ctrl+T to make a brush func_detail. by default brushes are just brushes. methinks there's your problem. Just don't try to seal leaks with func_detail