When I used a software based app, I used MySoftReset, because it did NOT prompt me to reset like other apps. It can be found here:
http://forum.xda-developers.com/showthread.php?t=544475
I used: MySoftReset_No_Warning.CAB
However, I have stopped using it and now use RhodiumKeyboardController 1.3.2 (as 1.4 has bugs), and have set my "Windows" key (button I use least) to soft reset on a long press. It's MUCH more convenient for me when I'm on the run to just press a button. Rather than scrolling over to programs and then hitting the screen.
I'd suggest try out of a few suggestions and see what you like best. HTH.