-e is not POSIX (in fact, POSIX echo generally accepts no options (though, though it is allowed to support -n), see here), and /bin/sh on your system appears to be a POSIX shell. -e is an extension accepted in some shells, but you shouldn't rely on it, it's not portable. Ideally, use printf, or switch to using a shell which has echo -e.
Also see the caveats of \e in the comments below, which should be replaced with \033.
printf '\033[3;12r\033[3H'