I've done a bit more research and one suspect is 3DS (3D secure) processing. This seems a possible culprit when the payment fails but it is never seen by the bank or CC provider. So that could be a coding error on Booking.com's side. Note that I didn't just try it via Aegean, I tried it through the normal site (both logged in and also logged out as a guest booking) and via the mobile apps.
There's also the PayPal option but I'm less of a fan as the money is taken immediately (and any subsequent refund may result in another FX conversion), in addition to losing Section 75 protection... and the ability to earn points.
I've now switched to Agoda, which is working fine. I prefer their interface in fact but the only problem is that a lot of the private apartments are only listed on Booking or Airbnb (which is always pricier and with worse payment terms).