To explore band structures of three-dimensional photonic crystals numerically, we need to solve the eigenvalue problems derived from the governing Maxwell equations. The solutions of these eigenvalue problems cannot be computed effectively unless a suitable combination of eigenvalue solver and preconditioner is chosen. Taking eigenvalue problems due to Yee's scheme as examples, we propose using Krylov-Schur method and Jacobi-Davidson method to solve the resulting eigenvalue problems. For preconditioning, we derive several novel preconditioning schemes based on various preconditioners, including a preconditioner that can be solved by Fast Fourier Transform efficiently. We then conduct intensive numerical experiments for various combinations of eigenvalue solvers and preconditioning schemes. We find that the Krylov-Schur method associated with the Fast Fourier Transform based preconditioner is very efficient. It remarkably outperforms all other eigenvalue solvers with common preconditioners like Jacobi, Symmetric Successive Over Relaxation, and incomplete factorizations. This promising solver can benefit applications like photonic crystal structure optimization.