Unfortunately, this map is never continuous. The set $[x=y]$ is clopen in $S_{xy}(M)$, but its preimage in $S_x(M)\times S_y(M)$ is $\{(\mathrm{tp}(a/M),\mathrm{tp}(a/M))\mid a\in M\}$, which is not closed (for example, its closure contains the whole diagonal).

What is true is that the "nonforking extension" map is well-behaved when restricted to each fiber. That is, fix a type $q(y)\in S_y(M)$ and consider the map $i_q\colon S_x(M)\to S_{xy}(M)$ which maps a type $p(x)\in S_x(M)$ to $\mathrm{tp}(ab/M)$, where $b$ realizes $q(y)$ and $a$ realizes the unique nonforking extension of $p(x)$ to a type over $Mb$. Then $i_q$ is a homeomorphism of $S_x(M)$ onto its image, which is a closed subset of $S_{xy}(M)$. 

The point is that $q$ is definable over $M$, so for every formula $\varphi(x;y)$, there is a formula $\delta(x)$ with parameters from $M$ such that $\varphi(c;y)\in q(y)$ if and only if $\delta(c)$. And $\varphi(x;y)\in i_q(p(x))$ if and only if $\delta(x)\in p(x)$. But the defining formula doesn't vary continuously in $q$ in the way which would be necessary to get a continuous map from the product space. 

This is essentially a special case of the "Open mapping theorem" in stability theory (see Corollary 16.7 in Poizat's *A Course in Model Theory*, for example).