All good points, though I have never seen the issue where known strings aren't found using Sublime's find functions. If you have seen that behaviour and can repeat it, a bug report would be useful as I'd consider that to be worth escalating.
Some of the issues you describe could be platform specific since I've heard that Mac users are getting some issues with Find not populating the selection and/or find in selection misbehaving, but I've not seen these issues on Windows or Linux.
Regarding find in selection. The state of the toggle is determined by the selection; if it spans >1 line, find in selection is automatically enabled, if it's <1 line, the selection is automatically placed into the find field and find in selection is disabled. Personally I find this intuitive, but I'd prefer optional instead of automatic behaviour; for find in selection to remember its setting and just be ignored when there's no selection for example.
Sublime's find in selection functionality behaves in a slightly funky way and could use some improvement:
1. Sublime doesn't have the notion of "cancelling" a search which, in this case, should return the selection state to the original selection. Ctrl+u can be used to get your selection back if you need it though.
2. As you start a search, the selection becomes that which matches a found string, or no selection if nothing is found. The original selection disappears although the search function still remembers the original selection's bounds, so for example searching for "the", then backspacing, then "for"; in both cases the search is within selection, but you won't see the selection for the second search. Visually, this is counter-intuitive.
A neat way to use Find is to select something and hit ctrl+e. This manually populates find with the selected text. You can then hit F3 or Shift+F3 to search forwards and back without using the find panel at all.
Find should also have a "global/all" button/function which will search from the file start regardless of the caret position.