Like Robert has said, package management beyond installing extensions with their dependencies does not fit in with TC's goals. Though rebooting into a clean known state is the correct way to rid your system of unwanted extensions and other stuff, I have to admit I occasionally have wanted to be able to uninstall a .tce extension and have toyed with the idea. A file for each extension that contains a list of the files installed by that extension would make it possible to write a routine that uninstalls tce's. But there are two things I can think of right now that tcz-uninstall takes into account that cannot be done with tce's.
For one thing tcz's never overwrite base system files unless those files are contained in a user.tar.gz. That is by design and is a safety measure. And the files in the user.tar.gz are not removed during uninstall since they are real files that may be overwriting files in the base system and are therefore not wise to remove. So uninstalling a tcz is pretty safe and has almost no chance of messing up the base system. One of the good things about a tce is it installs by force, overwriting anything in it's path. That is valuable especially for extensions that need to overwrite base items, but makes uninstalling such an extension not a good idea. It can break the system.
Another thing is it is possible to tell if a tcz extension is in use and in that case the uninstaller exits. There is no way to tell if the files in a .tce are in use, at least not that I know of. So if a .tce is uninstalled, one may be removing files that are in use. Again, not a good thing.
These two reasons alone make uninstalling a tce a risky proposition.