In ctf_2fort_revamp I ended up making a custom particle that is emitted from a flat circle (you could use a square as well) that uses a control-point (A "CP", not to be confused with TF2 control points) and the control-point defines how far the rain falls before it is automatically removed. I believe it uses a "culling plane" or something like that, but I don't have the PCF handy.
Anyway, that's a very cheap way to get rain which falls and stops at a flat or tilted "roof", and it's OK if the rain goes "into" a roof as long as the ending point is somewhere you can't see from inside. You just place one particle system, and then place an info_target (or possibly an info_null) at whatever horizontal height you want it to stop at. Repeat to "tile" your map with rain of differing heights.
For bonus points, your second CP can be not an info_target, but another info_particle_system which generates "splashing" particles.