Just to avoid repeating saying いただきました too much, can I occasionally switch it with 下さりました or 下さいました?
いただきました is past tense of いただく, which is a polite version of もらう, which means 'to receive'.
下さいました is past tense of 下さる, which is a polite version of くれる, which means 'to give'.
They are different words but can be used in the same context as long as you correctly assign who is the giver and who is the receiver. But do take note that the emphasis of the sentence and the particles used may change if use one over the other. Example:
Note: In general, くれる is only used when the giver is the third person (neither the speaker nor the person he/she is speaking to) or if the giver is second person and the receiver is first person. If the giver is first or second person, あげる should be used. Or another way to see it, くれる is used when the giver is out-group, and あげる is used if the giver is in-group. Maybe it's easier to see from a diagram:
Note: the receiver always uses もらう or its variants.
Lukman already gave a nice answer, but let me add some comments in the context of the question.
The question is about ～ていただきました and ～てくださいました, two different methods of making 敬語 out of other verbs. While strictly speaking Lukman’s answer focuses on the basic use of いただきました and くださいました as receiving and giving physical items, the same explanation also applies to ～ていただきました and ～てくださいました. In short, they are not interchangeable unless you change the other part of the sentence suitably.
For example, a master of ceremony can introduce a speaker before a speech as “Today we have Prof. Tanaka from Kyoto University (as a speaker)”:
The first sentence does not have a subject, but the implicit subject would be someone who “received” the visit, in other words, “us.” The second sentence is incorrect. The third sentence has subject 田中先生 and is correct.
However, as a separate issue, some people may find the third sentence not appropriate, because it is usually more polite to avoid using a person to be respected as a grammatical subject of a sentence.