How to change the color of itemized text using `\color<>[]{}` in Beamer?

When you call a \color<overlay>[colorsys]{color} command that changes the color from then on (within the current group) as it takes as argument only the color specification and not the content that needs to be colored. What happens here is that the sub-itemizes are in their own color environment so they are not affected by your command; instead the other items are in the same color environment. A simple example to illustrate the issue:

a {\color{red} a {\color{blue} a} a} a

color

To confine the effect of the \color macro then you can enclose it into a group

\documentclass[a4paper]{beamer}   
\begin{document}    
    \begin{frame}    
        \begin{itemize}    
            \item {\color<2>[rgb]{1,0,1} text1}    
            \begin{itemize}    
                \item text11    
            \end{itemize}    
            \item text2    
            \begin{itemize}    
                \item text21    
            \end{itemize}    
            \item text3    
       \end{itemize}    
  \end{frame}  
\end{document}

You can also use the \textcolor<overlay>[colorsys]{color}{content} macro which applies the change in color only to the content argument.

\textcolor is to \color what \textbf is to \bf.