I teach 90% in English, and up too 100% depending on the level of my students. I think understanding is more important than immersion. Moreover, keeping students engaged and interested is a difficult task, and when they lose understanding in class, they stop paying attention.
In my low-level classes, I'll allow them to ask me a question in their native language if they clearly want to engage me but can't find the English words. Then, I will teach them how to say what they wanted to ask me in English. Everything is a learning/teaching tool, and nothing should ever be "off the table" if it can help the students make a connection.
Like anything, though, it has to be used correctly. One thing I've noticed is that students are much more comfortable attempting English when they know that I will allow them to fall back on their native language after an honest effort.