Our first "fancy" printer included support for Google Cloud Print - except it would periodically "deauthenticate" and require manual setup, which in turn would change certain printer IDs that we needed to send jobs to the printer.
Our next "fancy" printer from Xerox also included support for Google Cloud Print. For whatever reason, we could never enable Google Cloud Print on that model.
We switched to PrintNode and have never looked back. We were able to integrate our label printers with PrintNode as well, so we could automate the process of printing shipping labels. The biggest downside is that we needed a dedicated computer (server in our case) to be connected to the printers in order to route the PrintNode jobs. Not the biggest downside in our case, but to its credit, Google Cloud Print usually connected directly from the printer.