I2C is asynchronous as there is only one data line. You cannot transmit and receive data at the same time like you can with the SPI & UART interfaces.
Synchronous is not the same as duplex or bidirectional. I2C is synchronous because the clock signal synchronizes the two communication partners but it's not fullduplex, it's a synchronous halfduplex communication.