There's a lot of cool stuff out there to extend Powershell, for example TypePx, posted by Poshoholic today. I'd love to use cool stuff like that in my scripts by I worry about the long term viability and compatibility. Is there a best practice, or maybe just general advice on that point? I've already got a project on my plate to remove all the Quest Active Directory Snapin stuff from my scripts.
That's gonna be totally on you to decide. When I have made modules with a dependency like this, I try to make sure it's one that can be included with the module. That's not always the case though so you have to decide what works and what doesn't and document to the best of your ability.