Rule of thumb for small type
I've had better luck with fonts that are heavier, usually sans-serif, and usually bold-face. All-caps can help, too, if it makes sense at all for the text. Impact is one widely-available example, though it's far from perfect and rarely has the look I want. I also usually need to turn on the "Print Thin Walls" setting in Cura when handling smaller text.

When looking at how small you can get, we'll start with font sizes. It would be easy to get lost here in a discussion of points and measurements. The thing is, font sizes describe the vertical height of the characters. For 3D printing, I believe you'll do better paying more attention to the horizontal width of your text. Most characters are taller than they are wide, so if you can produce legible horizontal features, you can probably handle the vertical features, too. 

I'll use the letter "H" as an example here, because it shows the full size of the box for a typical character. Specifically, since I'm talking about horizontal features if you look at the bottom of the H, it has a three sections: leg, then gap, then leg. Also notice the gap is about 3 times the size of the legs (you can see this better if you zoom in close). This varies by font, but 3:1 is good average ratio. That gives us 5 units of width for the character itself. Additionally, you want to allow some spacing between individual characters; not every character needs it next to every other character, but I find it useful to allocate a 6th unit here. 

Now consider those 6 units in the context of your nozzle size. With a typical .4 mm nozzle, that means the smallest size character you can legibly produce is about 2.4 mm across. Of course, most fonts are not monospace, where a character might be larger or smaller, but I believe this makes a useful average. Count the number of letters in a line of text you want to print, multiply by 2.4 mm, and that's the minimum amount of horizontal space you need. 

If you really want to push things, a font specifically designed for 3D printing should theoretically be able to work in terms of 3 nozzle units wide + an extra gap between certain letters. But this is all theory, and for the minimum of what's possible. When you also start to think about what actually looks good, especially if you want to show features like serifs, the real world can really mess this up. In practice, I've found I need to go significantly larger even than the 6 unit / 2.4 mm option... but maybe I've just used the wrong font. You can always try a test print of your text in a small rectangle, to make sure it will be legible before using in a larger object.