This is my thing, we run a web app built as an Open Source Geo stack, the basics being; postGIS, GeoServer and OpenLayers.
We use the OpenLayers v.3 (OL3) library for our slippy map UI and to consume web map services along with additional libraries for other features, like a layer switcher and pop-ups.
When we first looked for a solution a couple years ago, the answer was to use both libraries OpenLayers w/ Google maps API and to put the Google map base layer behind OpenLayers. We decided this was a no go with the extra work to integrate w/ the other map functionality, additionally there was also a device specific visual lag between maps while scrolling and panning.
At his point in time there is a fork of the OpenLayers 3 library, that integrates with the Google map API, (ol3-google-maps.js), this basically does the same as above but is integrated to the OL3 api, but does not support all the features we use in OL3. I spent some time and was able to display goggle base layers in our OL3 map but had lots of issues. I was able fix or workaround these issues one at at time, but with more work to do I again suggested we abandon this task for the time being.
Additionally it should be noted with the library being a fork of OL3, the developer and user base for the software is significantly smaller, foretelling less support or development on that library in the future.
It would be possible to use the Google API or layers, but it is was low hanging fruit to be easily implemented into our current project without significant work.
Another note, OL3 is now superseded by OL4, that is supposed to be very simple to update as most API calls remain the same. Additionally OL5 is underway as well.