Maintain in-house repository of custom modules?
maybe this goes against good practices?


Wouldn't have thought so, providing a central repo for your modules can only be a good thing in my opinion. It's the best way to keep multiple sites up-to-date with changes to custom modules.

What you need is a combination of the Feature Server module:


  This module allows you to share features and custom modules on your own website. It lets you create projects and releases, and it produces an update XML feed compatible with the update module in core. In a way it's a highly simplified version of the project module.


And the project status url module .info file setting, for your custom modules:


  Allows module maintainers to define a URL to check for updates to their module using the Update status module. No module released on drupal.org should define this parameter. URL should point to an XML feed that accepts requests in the form of http://my.domain.com/projects/{project}/{core}. In that example, project status url should be set to http://my.domain.com/projects.