I wouldn't say frameworks provide XSS filtering because developers are "lazy." They do it so developers can focus on the creating code specifically for their application. A developer's job is hard enough handling the (sometimes) baffling business rules applications have to enforce.
Let's say you were an expert carpenter. Given enough time you can build anything. You have a job to redo someone's kitchen. Should you spend a good chunk of time making the best hammer in the world? Or, should spend your time redoing the kitchen and use the $20 hammer you can pick up at Lowe's?
The company that makes hammers focuses all their energy on making the best hammers they can. The people who make the frameworks focus their energy on making the best frameworks they can. They can spend their time testing and retesting that code because that is what they focus on. When you have to roll your own you may miss something or create a bug you could never think of. Sometimes you have to create your own hammer (or code) to meet a very specific need, but hopefully that is few and far between.