Perhaps the fundamental issue here is an unintended consequence of the orthodox set-theoretic foundations of mathematics, which can give the mistaken impression that mathematical objects need be encoded as sets in order to do math "properly", even if this comes at the cost of being able to intuitively understand these objects.
Let me explain (and be patient, I will get to tensor products of vector bundles eventually). We are all familiar for instance with the concept of a function $f: X \to Y$, but strictly speaking a function is not a set and so does not directly exist inside a standard set theory such as ZFC. But we have a standard solution to this: we encode a function $f$ within set theory by identifying a function with its graph $\Gamma_f := \{ (x,f(x)): x \in X \}$ (or, if one wants to be more pedantic, with the ordered triple $(X, Y, \Gamma_f)$ in order to record the domain $X$ and codomain $Y$, with the ordered triple itself being encoded as a set in some standard fashion). Every function uniquely determines a graph and every graph uniquely determines a function (if we also specify the domain and codomain), so at a foundational level this is a satisfactory resolution to the problem of introducing functions into set theory. But it comes at the cost of intuition. Consider for instance the problem of trying to define the pointwise product $fg: X \to {\bf R}$ of two real-valued functions $f,g: X \to {\bf R}$. If we view a real-valued function $f: X \to {\bf R}$ as a real number $f(x)$ that is parameterized by some parameter $x \in X$, then the pointwise product is simply the ordinary multiplication operation on the real numbers, with the only difference being that the real numbers involved are not constant, but instead depend on a parameter $x$:
$$ fg(x) := f(x) g(x).$$
This is extremely intuitive (especially if $x$ is interpreted as a time variable, a position variable, or a state in a state space or probability space). For instance, it is immediately obvious that all the usual commutative ring axioms for real numbers extend immediately to real-valued functions. However, if one insists on interpreting functions $f$ as graphs $\Gamma_f$, the definition suddenly becomes horrible:
$$ \Gamma_{fg} := \{ (x,c): \exists a,b \in {\bf R}: (x,a) \in \Gamma_f, (x,b) \in \Gamma_g, ab=c \}.$$
If one insists on the graph-based encoding as the "geometric" way to think about functions, then the operation of multiplying two functions together is now much more opaque than it needs to be. For example, it is not obvious at all that this operation is associative.
The situation with tensor products (or many other standard operations) of vector bundles is completely analogous. In our orthodox set-theoretic foundations, we define a vector bundle over a base $X$ as a set $E$ equipped with various structures (a projection map $\pi: E \to X$, a smooth structure on $E$, etc.) obeying various axioms. But one can instead think of a vector bundle as a vector space $E_x$ which is not constant, but instead depends (continuously, smoothly, or holomorphically) on a parameter $x \in X$. This is completely akin to viewing a function not as a graph $\Gamma_f$, but as a quantity $f(x)$ depending on a parameter $x$. In many ways, the latter interpretation is more intuitive; but it is more difficult to shoehorn into the orthodox set-theoretic foundations of mathematics, so we use the former definition instead. (See also this previous MO answer of mine for a related discussion.) So one should often think of a vector bundle as a vector space that is varying in time, or in space, or is dependent on the state of a system, or whatever other interpretation is germane for the application at hand. (Perhaps the fancy way of saying this is that vector bundles can be thought of as vector spaces in a topos over the base space.)
Anyway, once one adopts the parameterized point of view, the tensor product operation on bundles effortlessly generalizes the tensor product operation on vector spaces:
$$ (E \otimes F)_x := E_x \otimes F_x.$$
So whatever intuition you have for tensor products of vector spaces, now transfers instantly to vector bundles.