A couple things to consider when doing this. Widgets will not function if their associated apps are moved to the SD card. This is just part of how Android is programmed, for better or worse, and not to do with how those apps are programmed. I've also seen apps become unstable after being moved, such as resetting defaults every time you open it.
Can apps be moved? It depends. Is it a good idea? Your mileage may vary, but may not be worth it.