@Stuart, I think @Nick_M is on the money with this.
Combining a multi level switch, a concatenate function with a format is where the problem lies. Its a similar issue others have reported in finance template support category.
Are you running this for a financial statement template?
Try halving the switch lines to see which group of switch lines is taking the longest time to calc…maybe a way to check out the slowest lines?