You can use the TDQ method if you want. Make sure that in the JCL the DDNAME you have the INTRDR option specified which will than route the output to the JES input queue. You will have to write incorrectly formatted JCL including the jobcard and the last // to make things work. Closing the TDQ should send the current contents off to JES.
However, I'd prefer you to use the API provided by CICS to do this operation. There are some XC SPOOL commands that do what you want. You just use the XC SPOOLOPEN OUTPUT to create the "job", put in the cards via XC SPOOLWRITE (including the last //) and then send the job by closing with XC SPOOLCLOSE. If you need to get the output back into CICS, then use the XC SPOOLOPEN INPUT and XC SPOOLREAD commands.