vertical-align [w3.org] but be sure to test in all standard browsers. I've gotten disagreeably varying results, and not only in MSIE ;)
You can also define <sup> explicitly in your css. Good idea, in fact. Vertical-align is then set as a percentage or in ems (same way you'd set a font size), and you should also set a size, because by default browsers will make superscripts and subscripts smaller. But you don't know how much smaller.
Different fonts render the ® (and also ©) symbols in slightly different sizes and positions. Just to illustrate the point, they're slightly above the baseline in the Compose Post font, but in Preview they're inline, and in the displayed font they will probably be in yet a third position :) But I don't think your customers will have trouble recognizing a registered trademark in any case.
Edit: OK, I got curious and asked the Character Viewer to show me the whole font range.* The ® symbol varies in size by a factor of at least two-- more like two-and-a-half from smallest to largest. And there's a corresponding range in position. The top doesn't move as much as the bottom-- as you'd expect, the smaller ones are raised higher-- but even the topline isn't consistent.
* Doesn't everyone have 417MB of fonts distributed among 441 files in 339 named families?