Indeed, define more exactly what your requirements are.
1kHz sampling is not very fast for a 200MHz processor, as long as you have no blocking code in, for example, your ethernet (TCP/IP) stack. On a dual core processor (which most ESP32 are) you can run your sampling on one core and ethernet on ...
On a board with a ESP32-U4WDH mcu, I cannot program the the embedded flash. The board used to be populated with a ESP32-D2WD and there programming worked as it should.
As recommended in the datasheet, GPIO16, GPIO17, SD_CMD, SD_CL, SD_DATA_0 and SD_DATA_1 have no external connection.