I just thought I would pop in here and start an argument by adding my category-theorist's point of view. (-:

To a category theorist, a Boolean-valued model is the internal logic of a sheaf topos. Explicitly computing Boolean truth values is the same as working with subobjects in that category, while "jumping inside the Boolean brackets", as Andreas describes, corresponds to working inside the internal logic.

Now a sheaf topos is always the "classifying topos" of some geometric theory, which means that it contains a "generic model" of that theory. In the case of sheaves for double-negation topologies on posets, which classical forcing usually restricts itself to, these models can be described as ultrafilters.

But I think there is value, especially expositionally, in taking seriously the idea that we are talking about classifying toposes of more general theories than this, and that what we obtain from forcing is a generic model of some theory. Even if having such a generic model is equivalent to having a certain kind of ultrafilter, it seems to me that often the generic model of the theory has a more direct connection to the statements we are trying to force.

For instance, to force $\neg \mathrm{CH}$, we may start with the "theory of an injection $\alpha \hookrightarrow 2^{\aleph_0}$" for some uncountable $\alpha$. The classifying topos of this theory will then contain such the "generic" such injection. (We then have to pass to an extra subtopos if we want, unaccountably, to preserve PEM.) I find this idea much easier to understand as a beginner, though it is of course equivalent to the usual presentation.

In short, I think one should be able to work with *generic objects*, which one might argue are at the heart of forcing, without necessarily needing to think about *ultrafilters* in particular.