The first thing that comes to mind is to go to Site Settings>Purge Workflow Data. You can set a custom filter there based on 'State is Error' and it will list all the instances of every workflow on the site in error and you can purge them from there as well.
Maybe I wasn't clear enough in my question. My requirement is to create a Workflow / Web Service that will fetch all the Site level Workflows that have errored. I can already do this for List level workflows; but I'm facing an issue with Site Workflows. Using the custom filters on Purge Workflow Data won't really do that, would it?
If it has to be from a workflow then it won't work, but the data in purge workflow will show you site workflows. How are you getting it for list workflows? If you'reusing a web service you might try passing a guid of all 0's for the list and -1 or 0 for the list item.