Question: Link, checkbox, or switch? Answer: None of the above.
User generally expect links to navigate –that is, take them to a new location. Switches and check boxes set attribute values or states –that is, what something is like. That would be suitable if the app simply switched the text from one characteristic to another (e.g., bold versus normal font), but that’s not what it’s really doing. Setting to default wipes out what the user had entered and replaces it with per-determined text. It doesn’t just change what the text is like. It changes what it is. Also, as you imply, it’s unconventional for a checkbox or switch to change on their own due to user input somewhere else.
What you’re want is something that makes a command –performs an action than changes something that's represented somewhere else. That’s the job for a command button (or a menu item). More than other controls, a command button signals to the user “you about to do something substantial, possibly irreversible.” The clue that you need a button is that, without it, you need to add the verbiage: the link is labeled “Reset to Default” or the checkbox is labeled “Use Default.” The fact that you need to start with a verb indicates the system does a command. Usually it's sufficient if links are just the name of the location that the system navigates too (a noun) and checkboxes/switch are the name of the state or attribute the thing acquires (an adjective).
The button is disabled when the text is first shown with the default text, and enables once the user changes a character. Because setting the field to default is a destructive action, I recommend that once the user clicks Default, the apps changes the button to “Undo”. Clicking that, reverts the field to what the user entered had before, and switches the button back to Default. Editing the default text also changes the button from Undo to Default.
You are right to be concerned with clutter, and command buttons have the disadvantage of being visually “heavy”. You can mitigate this several ways:
Short label. A button labeled “Default” (here used as a verb) is probably a sufficient label. There no need to label it “Use Default” or “Set to Default” because the fact that it is a button means to does an action. Don’t label it “Reset.” That implies the button changes the text to what it used to be, which may not be the default if the user has edited the text on two occasions.
Lightweight button. It doesn’t have to be a full-size 23-by-75 pixel command button. Just about anything with a rectangular border and a centered caption will look like a command button. Bonus points fro rounded corners. Avoid a 3-D look and give the background a subtle neutral shade.
Centralized button. A button for every field will be easiest to understand, but for true minimal clutter with a lot of fields that may be defaulted (not just two or three), consider a single button that acts on whichever field has focus. To default the field the user places the cursor in the field of choice (if it’s not already there), then clicks the button. If your users are regular users of this form and/or get some training, this is probably fine. Once they know this “trick,” they’ll probably remember it. If this form is not used so often, consider additional text. It can be beside the button rather than in it to keep the “weight” down.