When we were self-hosting Grafana with an influx data store writing queries was actually very easy since Grafana provides a "query editor" to generate the SQL for Influx. Ironically that was much easier to use than InfluxDB Cloud's own solution (which now uses a completely different query language).
Grafana Cloud seems to mostly advertise the pull model, whereas we were really looking for a push model. I'm glad I figured out how to get that to work with Graphite, since Grafana Cloud offers both Prometheus and Graphite.
Now given that Grafana Cloud's free-tier covers our needs I'm glad we no longer have to maintain a self-hosted version (and we're definitely getting better performance now).