The Azure tier performance varies widely to meet the needs and budget of everyone. But, if you have a database that only needs high performance during a batch, you can scale up and down to bring down the average cost of the database per day.
If you would like to wait for the change, you can set up a loop. I have noticed a loss of connection when the level change is complete. This may be to close the logs and complete the change. Just be careful if you are trying to continue within a job. You may have to schedule the increase 1 hour before the batch and then lower the service level at the end of your batch dynamically.
Here is an example of moving from a P1 to S3 with a 5 minute loop: