I think it's more of an issue in software because software developers are essentially producing tens of "inventions" a day, every day, any of which are potentially infringing due to poor PTO operation. Whereas in something like chemical engineering a patent might affect maybe a few hundred other well-capitalized firms at a single point in their process, in software for any given app/developer potentially multiple patents are implicated in the course of a normal day's work.
A lot of patent trolls seem to be exploiting "we got here first nya nya" patents. That is, they patent solutions to problems that the market has not deemed significant enough to solve yet (like in app purchasing, before the iphone). When the market does move and encounters these problems, the straightforward solution(s) are developed, and then in swoops the patent troll.
The PTO just needs to become more sensitive to the unique industry that is software development: the high natural rate of invention, the high likelihood for multiple independent similar solutions to problems, the fact that a problem hasn't been solved yet doesnt mean the first submitted solution should nor can be patented, etc.
I think if a patent holder can show "but for my solution, you never would have solved this problem in a reasonably efficient manner" then sure, let's protect his IP. Determining when that condition is true is obviously difficult, but the current PTO strategy of giving the benefit of the doubt to the patent applicant has proven a bad bet.