You need to remember that this is the quiet season for public transport. I'm sure the train can go faster but you haven't taken into account alot of variables.
Rain. Rain slows services down, means they often put down 100% acceleration and braking for curves and stations needs to start earlier.
disabled. Those requiring assistance will slow the service down. One reason why timetables have padding
absolute load. Less people are using this train now than they will in march 2018.
delays to other services. right now hornsby is a hellbox. You could have delays to other services, especially those to to the north shore slowing everythingdown from berowra to hornsby.
Regional services. That is around the time the ex-casino overnighter comes through to sydney. delays to that will mean it will likely get priority over your IC service.
Some of those delays at stations would be to provide the ideal overtake of suburban services south of epping. You could leave earlier, but you would be sitting on reds going slow until an overtaking spot. may as well sit at the station and run through faster.
You also need to understand that a service from newcastle to sydney central conflicts with:
1. Hunter services. All stops (wickham - hamilton junction)
2. other CC and Newcastle services. Limited and all stops
3. North shore line trains. All stops
4. Northern line via chatswood services. All stops
5. Northern line epping via strathfield services. All stops
6. western line services using the main's from strathfield-redfern
7. blue mountains services
8. regional services around sydney central
Once you start lookign at how much one service interconnects and conflicts with so many other lines, you can see what a miracle it is.