What is the optimal grid size?

The largest growable building footprint in the game is 4x4, so if you want to maximize the efficiency of your grids, you'll want to make sure the greatest distance between two parallel roads is 8 tiles, otherwise you'll leave a gap in the middle that can't be filled.

As far as the perpendicular roads go, that's going to depend on your situation. Residential and Office zones produce less traffic congestion, so larger grids with fewer access roads can work just fine (Some of these zones in my cities can be as large as 20x8 or 30x8). With commercial, you may consider smaller grids, as it attracts more traffic. Also, as suggested in the comments, a "brick" pattern using three way intersections is helpful, as it eliminates a potential left turn that can back up traffic.

The main thing though is not to attach too many intersections to your large, "main artery" roads. You need to find a balance between giving the AI options on ways to get into and out of the grid and onto and off of the main roads to avoid bottlenecks, but you also don't want them stuck trying to get through three dozen traffic lights to get to the store.