Seems as though it most likely the switch or the relay. Once you switch off, the relay keeps the motor energized for a bit to allow parking. Some folks have opened the relay and cleaned the contacts to solve various issues. Here is an interesting read if you haven't come across it yet:
http://forums.pelicanparts.com/porsche-911-technical-forum/471810-wipers-not-parking-no-intermittent-wipers.html
Although their problem is no activity, yours can be due to a similar issue - contacts in the relay not opening. If it were me, I would snag that relay and pop it open and clean it.
If that didn't solve it, then I would disconnect the switch under the dash and buzz it with a multimeter in each switch position according to the diagram in the thread above.
My .02,
Mike