Unfortunately, the closer we get the more dragons seem to appear. The hardest thing I have seen that will need to be addressed is handling the mapping of business facts from an internal representation to representations required by external systems we are interacting with. In many cases this isn't a simple 1:1 map, and we have to write imperative code to handle that last mile of wiring various things together. Also, developing business rules and validations is incredibly difficult without proper code if you are dealing with any sort of complex logical combinations of facts or entities.
The most sustainable model I have been able to come up with (at least for our products and customers) is to push as much we reasonably can into the data-driven realm, and then explicitly expose standardized coding contexts for mapping/validating/etc various combinations of data-driven entities.
For our purposes I would say the 80/20 rule applies fairly well. Approximately 80% of our platform can be data-driven, with the remaining 20% absolutely requiring code to connect the dots.