New high-speed tracks have recently opened in Belgium and the Netherlands, making the journey time from Brussels to Amsterdam less than 2 hours. In other words, a direct service between London and Amsterdam, and for that matter a London to Cologne service, would take under 4 hours. While it is still pretty long, it would be less hassle than flying, and I’d think there is a potential demand to justify such connections.
There is one practical problem: border control. Unless the UK joins the Schengen Area, passports need to be controlled. At the moment, Eurostar travellers enter the Schengen Area in Britain. After passing through the ticket gates and security control, French border police stamp passengers’ passports. Conversely, travellers to London enter the UK in Brussels, Paris and other stations in France.
If there were direct trains between London and Amsterdam, then there may be passengers boarding in Amsterdam who alight at Antwerp or Brussels, which would make passport control in Amsterdam a complicated affair. Anomalies such as the example quoted above already exists, since some passengers use Eurostar to travel from Brussels to Lille. Border control on departure also means setting up a separate section of Eurostar, which demands space. It used to be the case that passport control took place on the train, under the Channel, and that may be an option for trains starting in Amsterdam or Cologne. Alternatively, passport control could take place on arrival for those travelling from the Netherlands and Germany, but not for those travelling from Brussels or stations in France. This problem, therefore, is not insurmountable.
I haven’t looked at the operations of the Eurotunnel and Eurostar closely, but there shouldn’t be a technical or capacity problem for more trains to run under the Channel. So I hope that rail companies will seriously consider such options.