Yep, your JCL with the IF..THEN is perfectly fine. Version 4 and above of MVS/ESA does suppport this form of executing steps conditionally, thereby trying to make redundant the older method of using COND=(4,GE) and the like.
Moreover, the IF should be followed by a relational expression like
// IF STEP1.RC=0 THEN
Whereas, in your example, there is no condition. Therefore, it will always go into the IF part and never to the ELSE part.