Well it probably depends on what you take "providing reasonably clean data that can be used for such purposes" to mean.
It is still far too early in the learning analytics technology (hype?) cycle for there to be any published standards for how LMSs should expose data. In about 5 years time (if learning analytics takes off) then there will be such a thing and the question will be easy to answer.
Until then, we are stuck with ad-hoc solutions.
At the lowest level, Moodle tracks excellent, high-quality data about what users are doing in the database. That is mainly in the mdl_log table, but the gradebook and activity and course completion tables are also excellent sources of data.
The Moodle database is not very complex, and if you are a developer, it is really quite easy to pull the required data out. And Moodle now has many hooks (web-services, course and admin reports) where you can expose that data in whatever form you want. You can also just let your learning analytics program pull data directly from (a mirror of) the Moodle DB.
At this early stage in the learning anlytics came, that is probably as good as you are going to get.