Choose the data structure that best represents the specific data.
Are you using the array to represent a grid of things with fixed dimensions (for example, the sudoku solution)? Then use a multi-dimensional array.
Can the number of things you want to store in the array change (for example, the sudoku start pattern or potential values a user enters for a sudoku cell)? Then maybe a jagged array is better.
You could also have multiple types of arrays in your program, for example a multi-dimensional array to store the solution and a jagged array to store other data. Or some different data structure entirely.
The bottom line is that for something like sudoku with a relatively small amount of data, performance isn't going to be your biggest problem. You will be better off structuring the program as clearly as possible and worrying about performance later.