Whilst there is maybe an argument that stopping everything at Reading is inefficient, it is a large town with a huge commuter flow in and out, big tech industry, university etc., and a major strategic interchange, tho dedicated, high capacity services that people could aim to get a seat on would probably help. The real travesty, however, is the amount of trains that stop at Didcot Parkway.
From 0700 to 0900, the only trains from Swindon that don't call at Didcot are the two that don't call at Reading (1A05 0640 BTM - PAD & 1L20 0558 SWA - PAD which is supported by the Welsh government to provide a fast service to London); Didcot also get Oxford / Reading local trains, semi-fasts in the peak and some fast services ex. North Cotswold line. The numbers boarding and alighting really don't seem to stack up, but as its catchment area is nether Oxfordshire the pax never seem to suffer come timetable change.