I don't personally do katas, but I would recommend them. As a disclaimer, I've written a research paper on the use of typing exercises to help learn CS [1]. For typing exercises, I consider it akin to building muscle memory at getting comfortable with code syntax with a variety of examples. I look at katas in a simple fashion, small scale problems designed to get you comfortable with building mental models in your head. There is also research out of Utah on giving super small coding drills with good results [2].
When it comes to teaching it, the biggest hurdle is that you need to build a lot of small, unique exercises. This is still drilling, just now focusing on making the techniques flexible to different problems. I use the analogy of drilling technique in martial arts, but you could consider that training with a different partner to understand how the technique works with a new body type. The trick I've found useful is to collect a number of textbooks to review when thinking up practice ideas. If the textbook is good, it typically has "real world" examples modeled with the topic - for example, one I built the other day looked at creating bigrams from a list of words.
[1] https://dl.acm.org/doi/10.1145/3373165.3373177
[2] https://dl.acm.org/doi/10.1145/3372782.3406259