That's why I see this post though not as a perfect solution but, it surely does nail and gives you an idea on how to choose your gas price and an estimation period for transaction success. It's quite a mind elsing post which would save you time and data if applied.
My experience with ETH GAS. I am trying to exchange one of my tokens. At that time, gas prices would be around 43 Gwei at the latest. My first experiment was using a Web Browser to connect with Metamask. I chose to use Supreme Gas. I was hoping it would be quick but it isn't. Finally, I installed Trustwallet and swapped here. Surprisingly, with the smallest cost, the time difference is not long with the first try, the process is faster. My exchange was successful. I don't know exactly why the case is like this.
My conclusion for a while is that if you want to make transactions (swap, send) it is more effective to use a wallet application. I don't know if Metamask is any different. Second, choose a time when the network is quiet, for example in the morning or when people are resting this will affect costs.