Exactly that’s the correct way to go.
Lazy people may also want to use their default template (i.e. skip step 1) and install the necessary 3rd party software inside printer-dvm (not the default template!) to some directory that persists, e.g. /usr/local inside printer-dvm. That might not work for all software though. cups usually has all printer drivers though, so most people just need to configure cups.
For printing one would then start a disposable VM based on printer-dvm, qvm-copy the file to print there and print it.
If you use a USB printer directly connected to Qubes OS, you might have to create a named disposable VM and assign the printer to it. For network printers one would have to configure the respective netvms and allow the respective connections.