As an engineer, I love work-sample tests. And I also like the insight you had, that a test should test code-reading as well as code-writing.
Some people complain about the amount of time that they take, but if you're good at what you do then you should only need to complete one work-sample. Whereas you could easily need to attend many interviews that accurately assess your skill. Some companies even have many-stage interview processes, and these definitely take longer than creating a work sample.