#1
After a lot of practice, I can finally play a number of the basic barre chords cleanly. Still struggling with the A major shape, but I can handle A minor, A7, A minor 7 and all the standard E shapes.

But I am really, really, REALLY slow when shifting chords in a song... either from an open chord to a barre, or from one barre to another barre. So I'm looking for some practice routines to help with improving my chord shifting speed.

My teacher gave me a basic drill to help...

Without looking at the fret board, I finger a barre chord and strum. Then take my hand completely off the guitar, pause and then finger the next barre (again, without looking). Take my hand completely off the guitar, pause, finger the next chord and so on. But damn, it gets boring fast. Anyone recommend any other drills?

Also, what about some simple songs for practice? Preferably with only a few barre chords and not too high on the neck... the action on my acoustic sucks and anything past about the 6th or 7th fret is a pain. I've been spending a fair bit of time on Karma Police which is pretty good practice, but I need more songs.
#3
the drill he's giving you will help you make the chords well from memory... but it won't help you change chords faster.

the trick with chord changes is that you need to figure out how to make each chord in a progression in such a way that you can switch between them efficiently. by efficient, i mean you should be moving the least number of fingers over the shortest possible distance. sometimes you need to just pick up all your fingers and make a different chord, but most of the time, you'll be able to keep one finger on the same string, or maybe even on the same note.