To Plot using VLISP you would have to set up a Plot Configuration to the settings that you want, and then use the vla-PlottoDevice method - it is quite involved relative to the command call alternative, but it is possible.
I wrote this a while back, might serve as an example (this example is Plotting to a FILE though)
(defun c:P2F (/ doc itemp SetPS PlottoFile pgset file)
;; Lee Mac ~ 13.01.10
(vl-load-com)
(defun doc nil
(setq *doc* (cond (*doc*) ((vla-get-ActiveDocument
(vlax-get-acad-object))))))
(defun itemp (collection item / result)
(if (not (vl-catch-all-error-p
(setq result
(vl-catch-all-apply (function vla-item)
(list collection item)))))
result))
(defun SetPS (lay setup)
(and (setq lay (itemp (vla-get-layouts (doc)) lay))
(setq setup (itemp (vla-get-PlotConfigurations (doc)) setup))
(not (vla-copyfrom lay setup))))
(defun PlottoFile (file pc3 cpy)
(setq plt (vla-get-plot (doc)))
(and cpy (eq 'INT (type cpy)) (vla-put-NumberofCopies plt cpy))
(eq :vlax-true (vla-plottofile plt file pc3)))
;; ----------------------------------------------------
(if (and (setq pgset (getstring t "\nSpecify Page Setup to Use: "))
(SetPS (getvar 'CTAB) pgset))
(if (setq file (getfiled "Output File" "" "plt" 1))
(PlottoFile file nil 1))
(princ "\n** Page Setup Not Found **"))
(princ))
Haven't tested it lately however...