"First of all, there's still not a complete separation of UI from the model. UI designers still have to have some programming knowledge"
Have we ever had this mythical separation, even in fat clients? MVC allows for optional views to be plugged in, but the intent was never to remove the need for at least some programming knowledge. How would we have MVC with smalltalk and Swing without having some programming knowledge? Ironically, it's JSF that seems to break this ideal by requiring the action listeners to be specified, full class path and all, in the JSP page. Even Struts didn't require that.
What needs to be said about JSF is that it is intended for GUI builder tools. Its benefits won't be clear until at least on vender has the tool ready.