I payed for a little program called app zapper which works well. I drag an app into it, and it will come up with the application, preference files, and anything else related to it. I simply hit the zap button and it's all deleted.
There may be a free program that does similar though, not sure. For widgets I think it's fine to just delete the widget normally.