This is an explanation of my comment above, namely: "Complex vector bundles over a CW complex of dimension $\leq 4$ are classified by their Chern classes and rank. Moreover, every possible choice of Chern classes and rank arises. In particular, we have a complete answer for complex manifolds $X$ with $\operatorname{dim}_{\mathbb{C}}X \leq 2$."
Let $B$ be a topological space. A Postnikov tower for $B$ consists of:
- a sequence of spaces $B_n$ with $\pi_i(B_n) = 0$ for $i > n$,
- maps $\alpha_n : B \to B_n$ which induce isomorphisms on $\pi_n$ for $i \leq n$, and
- fibrations $f_n : B_{n+1} \to B_n$ such that $f_n\circ\alpha_{n+1} = \alpha_n$.
Note, from the long exact sequence in homotopy, we see that $f_n$ has fiber $K(\pi_{n+1}(B), n+1)$. If $\pi_1(B)$ acts trivially on $\pi_n(B)$ for every $n$, then one can take $f_n$ to be a principal fibrations for every $n$. The principal fibration $f_n$ is classified by $k_n \in H^{n+2}(B_n; \pi_{n+1}(B))$ called the $n^{\text{th}}$ $k$-invariant of $B$.
Consider the Postnikov tower of $BU(r)$, the classifying space for rank $r > 1$ complex vector bundles. Note that $\pi_1(BU(r)) \cong \pi_0(U(r)) = 0$, so all the fibrations will be principal and hence have associated $k$-invariants. As $\pi_2(BU(r)) \cong \pi_1(U(r)) = \mathbb{Z}$, the first non-trivial stage of the Postnikov tower is $BU(r)_2$ which is a $K(\mathbb{Z}, 2)$ and is therefore homotopy equivalent to $\mathbb{CP}^{\infty}$. Now note that $\pi_3(BU(r)) \cong \pi_2(U(r)) = 0$ so $BU(r)_3 = BU(r)_2$. At the next step however we have $\pi_4(BU(r)) \cong \pi_3(U(r)) \cong \mathbb{Z}$, so there is a principal fibration $f_3 : BU(r)_4 \to BU(r)_3$ with fiber $K(\mathbb{Z}, 4)$ classified by $k_3 \in H^5(BU(r)_3; \mathbb{Z}) = H^5(\mathbb{CP}^{\infty}; \mathbb{Z}) = 0$. As $k_3 = 0$, the principal fibration $f_3$ is trivial and hence $BU(r)_4 = BU(r)_3\times K(\mathbb{Z}, 4) = K(\mathbb{Z}, 2)\times K(\mathbb{Z}, 4)$.
The map $\alpha_4 : BU(r) \to BU(r)_4$ induces an isomorphism on $\pi_i$ for $i \leq 4$, so for any CW complex $X$ of dimension $\leq 4$, there is a bijection
$$[X, BU(r)] \to [X, BU(r)_4] = [X, K(\mathbb{Z}, 2)\times K(\mathbb{Z}, 4)] = H^2(X; \mathbb{Z})\times H^4(X; \mathbb{Z}).$$
After composing with a self-homotopy equivalence of $K(\mathbb{Z}, 2)\times K(\mathbb{Z}, 4)$ if necessary, one can arrange for this map to correspond precisely to $(c_1, c_2) : \operatorname{Vect}^{\mathbb{C}}_r(X) \to H^2(X; \mathbb{Z})\times H^4(X; \mathbb{Z})$. So any rank $r > 1$ complex vector bundle $E \to X$ is determined up to isomorphism by $c_1(E)$ and $c_2(E)$. Moreover, for every $\alpha \in H^2(X; \mathbb{Z})$ and $\beta \in H^4(X; \mathbb{Z})$ and $r > 1$, there is a rank $r$ complex vector bundle $E \to X$, unique up to isomorphism, such that $c_1(E) = \alpha$ and $c_2(E) = \beta$. For $r = 1$, we instead obtain $BU(1)_2 = BU(1)$ which gives rise to the familiar bijection $c_1 : \operatorname{Vect}^{\mathbb{C}}_1(X) \to H^2(X; \mathbb{Z})$; note, there is no restriction on $X$ in this case.
Complex vector bundles of rank $r > 1$ over CW complexes of dimension $> 4$ are no longer determined by their Chern classes. For example, as $\pi_5(BU(2)) = \pi_4(U(2)) \cong \mathbb{Z}_2$, there is a non-trivial rank two complex vector bundle $E \to S^5$ which necessarily has $c_1(E) = 0$ and $c_2(E) = 0$. A construction of this vector bundle can be found here.