I was in the same boat and have been using the isolinux Menu with ks files for ESXi installs on legacy BIOS. But we have installations also with UEFI for which this didn't work.
For me solution for hosts using UEFI was to keep the same setup with KS files in iso, but skip the menu. Instead I adjusted \EFI\BOOT\BOOT.CFG to have a long timeout and added CFG to kernelops line (so we don't have to type it all every time). When ESXI install boots we press Shift-O and change ks filename, rest is the same as having a menu.
timeout=5000000
kernelopt=runweasel ks=cdrom:/KS/CHANGE_EVERY_TIME.CFG
Thank you very much TimMann for a description of the boot process.