You mentioned the degeneracy subset definition. First lets re-establish the Grassman case as an example. Let $BU(n)=Gr_n(\mathbb{R}^{\infty})$ and take $e_i=(0,\dots 1, \dots )$ in the $i$-th position. Then define a vectorfield of the canonical bundle by $pr_{V}(e_1)$ at point $V$. Then the vanishing set is $Gr_n(\langle e_1^{\perp}\rangle)$. The fact that this is "generic" is easily checked, so that $c_1=[Gr_n(\langle e_1^{\perp}\rangle)]$. Now, we can take more vectorfields, $v_i$, defined analogously, and the dependant sets. But since $v_i$ are always orthogonal, this is simply gonna be the cap product, by transverality of $[Gr_n(\langle e_1^{\perp}\rangle)]$, or simply $c_i=[Gr_n(\langle (e_1,\dots e_i)^{\perp},\rangle)]$. This is easier to see in the more familiar setting of $BU(1)$. We have that $H^1(BU(1))=H^1(\mathbb{C}P^{\infty})=Hom(H_1(\mathbb{C}P^{\infty}), \mathbb{Z})=[\mathbb{C}P^{\infty-1}]^*$ and likewise, $H^i(BU(1))=[\mathbb{C}P^{\infty-i}]^*$, where these terms denote the limit of the inclusiosn $\mathbb{C}P^{n-i}\to \mathbb{C}P^n$. The situation for Stiefel-Whitney classes is similar.
Now for the general flag manifold, say $F=F(d_1,\dots d_i, n)$. Then take $pr_{V_i}(e_1)$, which gives a deneracy set of $[F(d_1, \dots d_{i}, n-1)]$ and so on, and we can proceed exactly as in the Grassmanian case getting $[F(d_1, \dots d_{i}, n-l)]=c_l$. This noteably agrees on the dot with the canonical maps involving other flag manifolds. This gives exactly the result we want, since the map $F\to BU(d_i)$ induces the top tautological bundle, and thus the Chern class is just the pullback of the original above class. Similar results hold for all other tautological bundles on the flag.