The content of an implication from the snm-Theorem
Your assumptions on composition are quite strong. The idea, here, is that you are only assuming that the class of (partial) computable functions is closed with respect to composition (so you only know that you must have some program computing it) and then use smn to prove that you can uniformely and effectively compute an index for such a program from the indexes of the programs you are composing (x and y in your example). 

Instead of spending time to show that you can effectively construct a turing machine computing the composition of two other turing machines (that is not so trivial) it is better to spend some time to prove smn, that gives you a much more general technique:


it proves that any partial instantiation of a computable function is still computable
it tells you that you may compute the index of the partial instatiation in a uniform and effective way in terms of the index of the source program and the parameters of the given instantiation (hence, providing a form of parameter abstraction, quite similar to lambda abstraction). 


Coming back to your examples, the "source" function is

$$g(x,y,z) = \varphi_x(\varphi_y(z))$$

and you are computing the partial instantiation of $g$ with respect to x and y. The point is that $g$ can be any computable function, and you are free to choose your parameteres in any way you like. A real jolly.

I strongly suggest you to have a look at the following answer on mathoverflow, that gives a very, very nice explanation of smn.