For both end users and in-house developers, the key is to provide appropriate training along with expert guidance and support afterwards. It's not enough to just run a training course; whether it's in content management or development, there needs to be an opportunity for people to work with the solution over time and be able to turn to experienced staff for support. Having trained dozens of end users, the percentage that don't require any ongoing assistance is minimal. Inevitably there are phone calls and emails requesting guidance to handle something that might not have been covered in training or the end user has forgotten. Although some people are happy to do research and actually read documentation or training manuals, the majority prefer to call or email. For in-house developers, it's even more important as the complexity of eZ publish development is much greater than content management.
In summary, the combination of training and ongoing support is the best approach to training...