Collision detection between the particles and the roof mesh is one method for preventing snow particles from dropping through your house’s roof. As you noted, though, this can be computationally costly and have a major influence on game performance.
As you stated, another method is to employ a collision volume. A basic box or sphere collision volume that closely fits the form and size of your roof may be created. Finally, add a collision component to the volume and configure it to block snow particles.