Another solution: Assume $X_n, X \geq 0$ (once we prove this case, the general case follows by taking $X = X^+ - X^-$ and applying the continuous mapping theorem). We will show that $\liminf_{n \to \infty} \mathbb E\left[X_n - X\right] \geq 0$ and $\limsup_{n \to \infty} \mathbb E\left[X_n - X\right] \leq 0$.
Lemma: If $X_n \xrightarrow{\mathcal D} X$, then $\mathbb E\left[|X|\right] \leq \liminf_{n \to \infty} \mathbb E\left[|X_n|\right]$.
Proof: Convergence in distribution is equivalent to $\mathbb E\left[f(X_n)\right] \to \mathbb E\left[f(X)\right]$ for any continuous and bounded $f : \mathbb R\to\mathbb R$. Consider the functions $f_m(x) = |x|$ if $|x|\leq m$ and $f_m(x) = m$ otherwise; then $f_m$ is continuous and bounded. And, $f_m(x) \uparrow |x|$. So by the monotone convergence theorem: :
$$
\mathbb E[|X|] = \lim_{m \to \infty} \mathbb E\left[f_m(X)\right] = \lim_{m \to \infty} \lim_{n \to \infty} \mathbb E\left[f_m\left(X_n\right)\right] \leq \liminf_{n \to \infty} \lim_{m \to \infty} \mathbb E\left[f_m\left(X_n\right)\right] = \liminf_{n \to \infty} \mathbb E\left[|X_n|\right].
$$
This proves the lemma. $\square$
We proceed. Let $\epsilon > 0$. Since $(X_n)$ is uniformly integrable, there is an $a \geq 0$ for which $\mathbb E\left[(X_n - a)^+\right] \leq \epsilon$ for all $n \in \mathbb N$. By the Continuous Mapping Theorem, $(a - X_n)^+ \xrightarrow{\mathcal D} (a-X)^+$, so by the Lemma,
\begin{align*}
\limsup_{n \to \infty} \mathbb E\left[(X_n \wedge a)-X\right] &\leq \mathbb E\left[a-X\right] + \limsup_{n \to \infty} \mathbb E\left[(X_n \wedge a) - a\right] \\
&= \mathbb E\left[a-X\right] + \limsup_{n \to \infty} \mathbb E\left[-(a-X_n)^+\right] \\
&= \mathbb E[a-X] - \liminf_{n \to \infty} \mathbb E\left[(a-X_n)^+\right] \\
&\leq \mathbb E\left[a-X\right] - \mathbb E\left[(a-X)^+\right] \\
&\leq 0,
\end{align*}
where $A \wedge B := \min\{A,B\}$. Since $X_n = (X_n - a)^+ + (X_n \wedge a)$,
$$
\limsup_{n \to \infty} \mathbb E[X_n - X] \leq \limsup_{n \to \infty} \mathbb E\left[(X_n - a)^+\right] + \limsup_{n \to \infty} \mathbb E\left[(X_n \wedge a) - X\right] \leq \epsilon.
$$
Since $\epsilon > 0$ was arbitrary, $\limsup_{n \to \infty} \mathbb E[X_n - X] \leq 0$. On the other hand, again by the Lemma,
$$
\liminf_{n \to \infty} \mathbb E\left[X_n - X\right] = \liminf_{n \to \infty} \mathbb E[X_n] -\mathbb E[X] \geq 0.
$$
The result now follows.