What would be the most effective way to brute force a 16 char AES key? I have a file that is encrypted in AES using a 16 char string. The string is (a-zA-Z0-9) and .,?!. Also, it only contains words from a dictionary (but they can be lower/upper case). What would be the most effective way to brute force this?

(No, I'm not trying to brute force passwords. Who would store passwords in AES…)
Based on the comments, it sounds like you know all the requirements/restrictions on the key. One thing that is not clear is if you have a good way of determining if a trial decryption resulted in the proper plaintext. This is usually not a difficult requirement as most data has some structure you could look for. Another important piece of information you are missing (at least as the question is posed) is what mode was used for encryption.

Once you have a plan for both of the items listed above, a dictionary attack is the best you can hope to do as brute forcing the entire keyspace is infeasible. The process is going to be long, but is fairly straight forward. Pick a few words that are less than 17 characters long together. Pad with punctuation to make it 16 characters. Decrypt. Test to see if decryption resulted in the correct plaintext. If not, repeat. You'll want a methodical way to pick words so you don't repeat, but that isn't hard.