I just spent a full day trouble-shooting this issue.
I found that there was a "break" between the samba "print subsystem" and the underlying OS's print subsystem. Specifically, the samba "%s" variable does not seem to be parsed to include the path to the WINDOZE (specifed in the "path" variable) print file so the file is never trasfered by the "lprng" command when the "print command =" is used to define the printing command.
I upgraded from 2.7 to 3.0.4 when this broke.
I found that if you remove all the definitions having to do with printing (like "print command =", queue control, etc.) except for "printing = xxx" and let samba use its defaults for the print system selected, then all works properly.
The %s and %f is correct as documented as far as I know.