There's two commands: `docker save` and `docker load`. It tars the history, layers, etc into a single file. You can further compress it for distribution. I've had a lot of luck with it.
Your client would then download your source, `docker load` your prebuilt copies to warm their cache, make their modifications, and further builds would be much faster.
They'd still pay that first penalty for pushing to their internal registry but that shouldn't take too long since that's essentially just a file copy.