This wouldn't be an issue if cashing out over a longer period of time. You could buy the bitcoins once a month and cash them out on the same day, avoiding price fluctuations.
For a one-shot cash out scenario, you could︀ buy the bitcoins with your offshore funds, send it to reputable exchange, and convert it︁ to fiat. You can then slowly transfer the fiat to your banks over a period︂ of time.
This is a little risky since it would involve keeping the fiat at︃ an exchange. Aside from US residents using Coinbase, I'm not aware of deposit insurance being︄ available anywhere else.
However, I've noticed that hackers usually only target cryptocurrencies at exchanges, leaving︅ fiat alone. The main risk is if the exchange folds, like what happened to QuadrigaCX︆ recently.
I may continue to use the offshore bank to receive income since I earn decent interest︈ on deposits and I don't have to declare the income. However, it mainly depends on︉ the outcome of sending my initial funds onshore. If it works smoothly, I can continue︊ using the offshore bank to receive future income. Otherwise, I would have to look at︋ other arrangements for receiving my future income.