And on top of that, there are some objects you can't drop if you are not connected as their owner, not even if you are connected as SYS....

So the only proper way is to drop user with cascade - no other bullet proof method, unless you can connect as the owner of the schema you want to wipe out.