These are some very general factors in the situation.
First, Google Maps is an aggregator of many, many different data sources, public and commercial, and different ones at various map scales. Depending where you are in world, some of the coordinates can be decades old, with accuracy depending on manual digitizing of paper maps that are even older. The main functionality ( reason for existence) of Google Maps is routing applications, where the topology of the links in the networks are what matter, for providing directions and distance - not horizontal and vertical accuracy. Also, these data sources have various vertical and horizontal datum which can differ from nearby sections of the map. Your data is probably survey or engineering quality accuracy, which means it is probably more accurate than the Google Maps (GM), which are basically a 'cartoon' of the street network. You can verify this by finding a GIS dataset of high accuracy geodetic benchmarks and see where they land relative to GM and your dataset.
Essentially, you are trying to use Google Maps as a reference base map, and it simply isn't meant for that - nor is their elevation data. When you try to do a 3D view, these factors all multiply. If you want perfect pictorial alignment, you will probably need to distort your data to match GM. It isn't necessarily a problem with Map Tiler.