I took things into my own hands. Once my 12 months SIM only contract was up almost two years ago I moved over to a rolling 30-day. I will not go back to the big players on anything more than 30 days. Fuck the greedy bastards.
I haven't found any 30 day contracts that can beat a well negotiated renewal. You just need to be firm in requesting the PAC code and make them work to keep you as a customer.
I got EU roaming included in my £9/month contract but I do need to get temporary travel packs for other countries.
If you have the energy to jump through the hoops to get a deal, then great. I can't face it. When I feel my current deal isn't right, I just text the number, get the PAC, and disappear, and I love the freedom. I pay £6/month for 5GB and it's more than enough for me.
For that £9 I get 15Gb of data (including EU roaming). One of my kids gets their phone with unlimited calls/texts + 5Gb of data for £5. I doubt I'm ever going to need more than that as on a recent holiday with heavy use I didn't even get close to exceeding the usage limits.
Edit: Err, actually they have two options with the same terms at different prices for the 30GB 1 month contract. The second is as you've noted, £7. WTF?