LaTeX Beamer: How to uncover formulas/text at a location of an "un'uncovered" formula/text

The simplest way would be to use the \only command instead of \uncover. You could also put the formulas into the same \align block, making the code more compact. And as noted in comments, if the element is to be shown on just a single slide, you can simply use \only<n> instead of \only<n-n>.

\begin{align*}
    \only<1>{E=mc^1}
    \only<2>{E=mc^2}
    \only<3>{E=mc^3}
\end{align*}

For more information, and advanced techniques, see section 9.5 of the Beamer User Guide.


If the formula, or whatever it is, is inside an environment (theorem, definition, ...) and have more then one line, then the solution provided by tobias_k could fail (wrt my sense of style):

suppose you have more then one \item (I use text for simplicity) inside an environment (definition, ...), then the gray background increase as the points go on, and it doesen't have the whole dimension from the start of frame (the standard for beamer):

suppose we want 3 incremental steps inside a definition:

1)

\begin{itemize}
    \item hallo \alert{world}
\end{itemize}

2)

\begin{itemize}
    \item hallo word
    \item the \alert{cat} is on the table
\end{itemize}

3)

\begin{itemize}
    \item hallo word
    \item the cat is on the table
    \item the \alert{windows} are open
\end{itemize}

A solution can be (thanks to the idea of tobias_k):

\begin{definition}
\begin{itemize}
    \only<1>{ % at #1 we need all space "covered" but only the first have to be shown
             \item hallo \alert{word}
             \item<2-> the cat is on the table % <2-> is for coerence: the only important thing is that it isn't <1-> or <1>
             \item<3> the windows are open % as above <3> is for coerence
             }
    \only<2->{ % from #2 the first is always on
             \item hallo word
             }
    \only<2>{ % at #2 only the second is highlight but we still need the third space "covered" and not shown
             \item the \alert{cat} is on the table
             \item<3> the windows are open
             }
    \only<3->{ % (from) #3 the second is always on too
             \item the cat is on the table
             }
    \only<3>{ % at #3 only the third is highlight (in this last case we can append the following line inside the last couple of brackets and delete this one )
             \item the \alert{windows} are open
            }
\end{itemize}
\end{definition}

And it replicate "exactly" (with the \alert!) what you see for:

\begin{definition}
\begin{itemize}
    \item<1-> hallo world
    \item<2-> the cat is on the table
    \item<3-> the windows are open
\end{itemize}
\end{definition}