Environment refresh...Best practice

We currently run a couple of different "Environments" for a few of PAAS SQL databases. Pretty standard development process I would imagine: DEV, UAT and Production. I want to be able to refresh database downward periodically from Production to UAT/Dev. Currently I'm using bacpac's but its very time consuming. I'm just wondering if any other have similar experiences with this? We use a IAAS box in Azure as the location for the bacpac and do all the work from within that server as it has connectivity to all environments.

Our DB's are all S3 at present.

Any one have any thoughts on other methods? Possibly the copy operation from the portal or the migration tool?

I'd recommend using Powershell to run the copy database command. This puts the work internally at Microsoft which should be a lot faster than exporting a BACPAC and then reimporting it. However you'll still need to clean the data prior to releasing it to non-production environments otherwise you're likely to be in violation of the GDPR and other stuff.

----------------------------------------------------The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood... Theodore Roosevelt