It's a journey of 118 miles each way, so at £67 for a Super Off-Peak Return it costs 28p per mile - not cheap, but hardly "insane". However, I'd agree that the Anytime Return at £238.80 is extortionate. Nevertheless, there are a few ways you might still be able to reduce the price.
1) Buy Advances. These may be available for less than the cost of the through ticket, depending on when you book and which train you want to take.
2) Buy a combination of tickets. Didcot and/or Swindon have historically always been the worthwhile split points, though the saving available through this depends on what time of day you're travelling and whether you're making a day trip or are staying for longer.
3) Get a Railcard. Even if not eligible for one of the national Railcards (i.e. you're aged 31-59, have no disabilities or qualifying medical conditions, aren't a veteran or reservist, and are travelling on your own), you can still get a Network Railcard. This will allow you to get a third off the cost of the fare within the Network Area (i.e. between London and Didcot or Salisbury), albeit Network Railcard discounted tickets aren't valid before 10am Mon-Fri.
4) Use a cheaper route. There are cheaper through fares routed via Warminster & Salisbury, including a £49 Super Off-Peak Return (albeit this is subject to heavy time restrictions) and £51.50 Off-Peak Day Return (with less onerous time restrictions).
5) Buy a ticket from further afield. If you have to travel at "peak" times and none of the above options are yielding savings, you can always take advantage of the so-called "Network Area Rule". This isn't really a hard and fast rule anymore, but broadly speaking it suggests that if you buy a ticket from A to B via London, and both A and B are outside the Network Area, then the ticket will likely only have time restrictions between A and London, and not between London and B.
In this case you could therefore buy a Super Off-Peak Return from Peterborough to Bristol for £110 and it would only have restrictions between Peterborough and London - there would be no time restrictions whatsoever between London and Bristol. You'd therefore just throw away the validity between Peterborough and London (I suppose you could use it from Stratford to Paddington on the Tube and/or Elizabeth line).