The most effective manner is to ask the students to provide the steps as you carry them out at the board and use the resulting feedback to determine how much detail to provide going forward. That is, as you are writing at the board, you do not just carry on with the next step yourself, but rather, you say, "and then...?" until the students say "add three to both sides", when you do that and say, "and then...?" and a student shouts out "subtract $2x$ from both sides!" and so on.
The point is that you should make no steps yourself that are not directly provided by the students, and sometimes you have to have the patience to wait for a suggestion, or to prompt suggestions by making things easier. This serves several purposes:
Students become more actively engaged in the class, and learn the material more effectively. You can call on different students to explain their ideas, and everyone becomes involved. This is also a way of teaching at several levels at once, since the weaker students might understand the specific step, while advanced students appreciate the more general remarks you might explain surrounding it.
You get vital feedback about what the students find easy or difficult. The importance of this information cannot be overstated. If all the students are shouting out "add three to both sides!", then you know immediately that they know that part well and you needn't spend a lot of time on it; but if nobody can say "subtract $2x$" or the equivalent, then you know what needs more attention. And so when students have difficulty providing the step, you give more detail, and when it is easy for them, you may proceed more quickly.
This method works with instruction at virtually any level, whether it is calculus or linear algebra or advanced graduate-level topics. In my experience, many instructors can improve their teaching simply by adopting this one instructional technique, which gives them the important feedback on student understanding that they did not previously even realize they lacked.