Once an app is uninstalled it no longer has any of the permissions that it had when first scoped. It's up to the merchant to remove any modifications made to the theme. It's always best to provide very clear and easy to follow instructions for both manual installation, and manual removal.
So if you need the snippet removed, make sure that's mentioned in the uninstall notes. Is this just that you want keep the theme clean, or is there some need to remove that snippet?
You can not remove a snippet once your app is removed, as it no longer has any permissions. The merchant will need to manually remove it.
A good app should come with help documentation that includes how to both manually install, and remove it. Once the app is removed the merchant would need to follow the steps in your help files to remove it.
I think I have snippets leftover from uninstalled apps and have a couple of questions about them if possible?
1) So that I don't accidentally delete an app that is required, is there a way of checking if that a snippet is defunct (i.e. that no other code will try and trigger it)?
2) If the snippet is defunct (no other code can trigger it), does it have any effect on the website speed? Or is deleting it just a way of tidying up the theme code?