Create Automator Service With a Python Script?
This isn't too difficult to do, you just need to know the right magic. I'll walk you through it.


Open Automator, and when prompted to choose a type for your document, select Service. If you're not prompted, just hit ⌘N to make a new automator file.
At the top of the rightmost panel, make sure that Output replaces selected text is checked, and the first drop-down is set to text:



You can change the any application part to a specific application if you only want it to work in that program.

In the Actions Library in the left panel, find Run Shell Script and double click it to add it to the workflow.
Change the Shell drop down to /usr/bin/python, and make sure that Pass input is set to stdin.
Delete the existing text in the script box, and replace it with the code below.
Save it with a descriptive name. Automator will save it in the ~/Library/Services/ folder.
Optional: Go to Keyboard Preferences, and find your service in the Services section of the Keyboard Shortcuts tab. You can assign a system-wide shortcut for it there.


Script Code

import sys

for f in sys.stdin:
    print f.replace('-', ' ').replace('%', ' ').replace('&amp;', ' and ').replace('#', ' ').title(),