Our SharePoint is running over http and there has been a push to get it to run over https. Some of the guides I've looked at mention that self signed certificates should not be used in production. These guides also show setting up sharepoint over https for external sites. Is it still bad practice to use a self signed certificate if your sharepoint farm is internal only?
Self-signed certificates should never be used in production. They have no form of "trust", which is what certificates indicate. I could create a self-signed certificate for sharepoint.company.com, and if I were able to high jack the company.com domain, no one would be to the wiser. This is why a certificate signed by a trusted public Certificate Authority is so critical.
You could always look into Let's Encrypt should cost be of a concern.