Particles can be pretty devastating for fill rate, especially on a PC with large resolutions. You can confirm if you're fill-rate bound by setting up a scissor rect so you're only rendering to a small square of the screen and seeing if that improves your frame-rate.
If you are fill rate bound, you should make sure your pixel shader is as optimised as it can be. You should make sure you render all your opaque stuff, and then render your particles with depth testing on. You could try to make a similar looking effect with fewer layers of particles. I've also heard that people often render their particles to a lower resolution render target, then copy that over onto their main frame buffer, but I've never implemented it myself.