Your answer for case (1) is right.
For case (2), you have undercounted for the following reason, and basically due to not being careful enough with $0$ digits. When you write $9 \cdot 9 \cdot 8$, you are counting three-digit numbers where first digit is not $0$, second digit is not first digit (but can be $0$), and third digit is not second or first digit (but can be $0$).
Then you are dividing by $3$ because only one in 3 possibilities you counted actually had the first digit being the largest. BUT, this is not correct: if you take a number like $102$, then you did not count $012$ and $021$, so you can't divide by $3$.
Instead, for case (2) just write $10 \cdot 9 \cdot 8$ -- allow the first digit to be $0$ before you divide out by $3$. Note that $0$ will never be the largest digit, so you are only temporarily counting numbers with $0$ as the first digit before you divide by $3$ to get rid of possibilities where the first digit is not the greatest.
Your answer is then
$$
45 + \frac{10 \cdot 9 \cdot 8}{3} = 285,
$$
as it should be.
Edit: More concisely, the answer is
$$
\binom{10}{2} + 2 \binom{10}{3}.
$$
We could pick two digits, in $\binom{10}{2}$ ways, and make the higher one the first digit and use two of the other digits. Or, we could pick three digits, in $\binom{10}{3}$ ways, and use the highest of the three as the first digit and then rearrange the other two in $2$ ways.