You'll be able to essentially replace it with DEFMACRO, but it's not 100% equivalent to do EVAL+APPLY. But the core idea is all the same: write code that creates valid S-expression forms.
INTERNED-GENSYM is there just to make code easier to read and type, because using uninterned symbols #:LIKE-THIS are moderately tricky to get the hang of. It is not advised to ever actually use INTERNED-GENSYM because every macro expansion is going permanently allocate memory for new symbols, and these will never get garbage collected.
At a higher level, the EVAL+APPLY way of doing things means that the lexical context (like previously bound variables) can't be used, and all invocations of EVAL happen at run-time (not compile-time) so it would be excruciatingly slow.