Finder's "Archive" command is implemented by the BOMArchiveHelper app in /System/Library/CoreServices. Unfortunately, it doesn't seem to have an AppleScript dictionary. You could just throw files at it with the universal "open" event, but those come out as CPGZ archives instead of zip. (Maybe there's a preference that can be written to make that change?)
Using other command-line utils via "do shell script" seems like a good enough solution. Remember you might want to use a "with timeout" block if you expect to be compressing files large enough that it takes a long time.