I don't dislike first class. However first class should be limited to true long distance intercity services, the number of first class carriages should be cut, the price increased to offer a true premium product and student railcard and child fares removed.
The problem with only providing first class on long-distance services is that you get routes that are served by both long-distance and local services. Take for example Manchester-Preston. Presumably under your suggestion, you could buy a first class ticket, but you'd only benefit from it if you took a Manchester-Scotland train, rather than a Manchester-Blackpool train. I'd imagine that could lead to some pretty upset first class passengers. Though I suspect similar problems must already happen - it's inevitable if first class is only available on some, but not all, trains.
Also, I can imagine a lot of commuters would be prepared to pay a fair bit more to travel first class - since many non-long-distance journeys still involve being on a train for an hour or more. Do we really want to lose the extra revenue from those commuters and deprive them of the choice?
Interestingly, you also get the opposite problem: First class on trains operating routes that don't offer first class tickets. My local example is Thameslink - all their trains feature first class, but then they turn up on the Rainham route, which is notionally standard-only. Obviously, everyone who realises the situation piles into the 'first' compartments with their standard tickets and Oyster cards (which are great because they have more comfortable seats AND tables), which therefore usually end up pretty full.
By the way, providing and correctly charging for first class will become a bit of a challenge if we ever move to a nationwide contactless system - since the card readers at stations will have no way of knowing which compartment you intend to travel in.