we have had or we had
"would swear" is used to make an assertion of an idea that is not an immutable fact. It is a conditional form, and suggests the existence of conditions of conditionality behind the vocalization of the assertion (i.e. not of the truth of the statement itself) e.g. "I would swear [if pressed] that we had been past this spot already". "I could swear" is used for the same purpose as "I would swear", but it does not quite have the same meaning: it is more forceful, and "I could swear" really means " I would argue", rather than merely "assert" as in "I would swear". "I swear" is definite, an assertion; there is no conditionality behind the assertion. You might also use it thus: "That boy will send me to an early grave, I swear" or "I swear I've eaten far too much!", in which case "I swear" is used simply to add strength to an exclamation, rather than to make a definitive statement whose veracity is being addressed.
"Have had" is a perfect tense. It is used in two primary ways: to assert that the statement explicitly true: "I HAVE had my lunch, mother!"; and also when followed by further limiting or conditioning statements: "I HAVE had the guinea fowl at this restaurant, but I prefer their duck".
1) I think you mean "I could swear", not "would" - "would" seems unnatural to me. No difference in meaning or grammar.
2) The present perfect in this treats it more as an experience, such as "I have been to Florida twice before"
I would swear shows tht the speaker is just a little less certain than I swear does.
We had might actually be used in this context in American English, but in British English we have had would be more usual. That’s because in British English the present perfect construction is used when a past event has relevance at the time of speaking.