4
Perl, 156 143 134 bytes
Includes +1 for -p
Run with the control string on STDIN, e.g.
perl -p rubic.pl <<< "^^>^^<^^^"
rubic.pl:
@f=gboyrw=~/./g;s#((<)|>)|\^#$1?$n=$2?2:4:--$y+2||(@f=@f[0,$y=1,5,2..4]);($x,$y)=($y,-$x),@f=@f[4,2,0,3,1,5]while--$n%5;!$1&&$f[5]#eg
Explanation
The challenge...