Why is erasure much slower than write for (NAND) flash?
Actually on a byte basis, erasing is faster than programming as you will see. This is a simplified layout of a NAND memory, with two dies:



Pages are typically 8-16 KB in size, while blocks are much bigger, 4-8 MB in size.  Programming can be done on a page basis, but erasing can only be done on a block basis.  So when erasing, 500x (8 MB / 16 KB) cells are bring erased 

These are the typical times for doing various operations:



Erasing takes 6.67 (2000 µS / 300 µS) times as long as programming.  But 500x time more cells are involved, so the real difference is 500x / 6.67x is 75x faster for erasing.

I don't know for sure but I would guess the difference is erasing is being done once with one command over 8 MB block, whereas programming is being done 500x to match the same number of bytes, and the time to send the commands plus the setup time inside the chip make account for the difference.