Updating extensions really is as simple as using tcz/tce-uninstall to remove the app, and then reinstalling an updated version with the appbrowser or the command line. Rebooting is not necessary (though always a choice), but uninstalling a window manager and using another one during the same session would of course require more than just the act of uninstalling one and installing another. In that case rebooting to use the new WM would be the easiest for most.
Tce/tcz-uninstall does remove all the files that are contained in an extension. Config files and directories that apps create in /home I believe should be left up to the user as whether to remove, never to be automated. And temporary files created in /tmp and /var do no harm being left after an uninstall until next reboot. Almost no package manager deals with such temporary files to my knowledge anyway. But those files can be placed as empty writable files in the extension if their removal upon uninstall is important. Or they could simply be manually deleted.
Whether one deletes an extension from the tce directory and reboots, or uninstalls the app is personal preference. Both will get you there. Of course, tcz's would ideally be unmounted before being deleted but that is of no issue if one is about to reboot anyway.