The second way is typically more accurate, because it doesn't incur additional round-off error when conputing inv(Sw) and when multiplying this to Sb.
Can you give an example of the eigenvalues and eigenvectors being different? It's to be expected that the order of the eigenvalues changes between two different ways of calling EIG, and the eigenvectors may be scaled in different ways between the two cases. Any other changes would be due to round-off error.
One way to check the accuracy of the combined eigenvectors and eigenvalues is to compute the residual norm:
For [U, D] = eig(A)
For [U, D] = eig(A, B)