DBT cloud provides a lot of features out of the box. But it's possible to implement almost all of them using any scheduler that supports running bash commands (Gitlab CI, Github Actions and even Airflow).
One of the most valuable features for us is Slim CI. We use Snowflake stage to upload DBT manifest after each run in DEV env. Every CI run downloads manifest from DEV and runs only changed models.
Pay attention that source freshness reporting is not possible with DBT Cloud and to upload freshness results for Elementary you need to use EDR CLI tool