I don't think it is "bad" for you to reschedule your interview (especially considering you have three weeks before the interview); but, you need to consider a few things when you're rescheduling.
1) If possible, make sure you suggest alternative times / days that work for you. By doing this, you're making scheduling easier for them. Just make sure to be available during those days.
2) Avoid rescheduling more than once. It's okay to change an interview once, the firm will understand that personal matters could arise at any given time; however, if a candidate reschedules more than once, then it complicates things for the recruiters (not to mention EM's or partners that will interview you have to set time aside for interviews).
3) Whenever appropriate, be transparent about why you're rescheduling. Without going too much into the details, by stating the reason(s) why you are unable to attend you allow the firm to be understanding of your situation and make accommodations for you (remember, we're human at the end of the day). With that being said, avoid saying that you want to extend the time because you're going out with friends the night before, preparing for other interviews and won't have time for McK, etc.
In short, try to notify them as quickly as possible and suggest times that work for you. Make sure that your email is concise and clear, too.
Hopefully this helps, feel free to reach out if you need any help and / or have any additional comments.