I can't tell you what you should do, especially since I don't know you personally, but I can answer your questions if it will help.
What faults did you experience after changing a major?
Some of the courses that I had worked hard in to get a good grade no longer counted for anything but personal satisfaction.
Also it meant 2.5 more years of school.
What major did you change and why.
I changed from an honors biology program to an honors cognitive science / artificial intelligence program with an option for a work term (get to work directly in the field while you learn). I switched because while I had good grades I found out from a professor that the kind of job I wanted in the field had been replaced by computer desk job work. I was also concerned about the animal experimentation that was required of me. I lost interest.
With my new program I don't know if I'll stay in it as it is too "arty" for me; I'm used to "sciency". I may go for straight neuroscience or straight computer science I don't know. I do know that I need to figure this stuff out soon though.
When is a good time to change majors?
As soon as you are sure you don't like your current major and can't see yourself doing it for another x number of years. If you absolutely hate it, get out asap. Stop wasting money on something you don't care about. If you don't know what else to do you can work or take time off for a while and go back. It's not a big deal. I say that because I know a lot of people who felt they had to go thorough "on time" and finish a degree in 3-4 years - you don't have to! There is no rule, at least at the universities I have been at and applied to. There's no shame in leaving one major for another.