@BruceET's answer has some nice information, and simulations is a good way to go for this sort of thing in practice. In this answer, I'll detail an exact approach, which demonstrates that the exact answer is actually $20.275$, the same as in the sampling without replacement approach.
Note that this is unsurprising due to the linearity of expectation and the fact that, marginally, each $X_i$ has the same distribution in either case. Note that the variances will NOT be the same for each approach, as @BruceET points out in his answer.
In the sampling with replacement case, you can view each draw as an independent draw from the given discrete distribution $X_1, X_2, X_3 \stackrel{\text{iid}}{\sim} p(x)$. In the sampling without replacement case, you have to consider the joint distribution of the random variables ${\bf X} = (X_1, X_2, X_3) \sim p(x_1, x_2, x_3)$. Then the expected value of $Y = X_1 + X_2 + X_3$ is taken as the weighted average with weights given by $p(x_1, x_2, x_3)$.
More generally, let $S = \{s_1, s_2, \ldots s_n\}$. A general strategy for finding $E(X_1+X_2+X_3)$ starts by listing all of the possible outcomes, $$\mathcal S = \{(x_1, x_2, x_3) | x_1 = s_i, x_2 = s_j, x_3 = s_k, i \neq j \neq k),$$ of which there are $n(n-1)(n-2)$. Since the sum doesn't care about the order in which each number is drawn, we can simplify things a bit by looking at the set of all combinations: $$\mathcal S = \{(x_1, x_2, x_3) | x_1 = s_i, x_2 = s_j, x_3 = s_k, i < j < k),$$ of which there are $\binom{n}{3}$ options. Then the expected value can be computed as \begin{align*} E(X_1+X_2+X_3) &= \sum_{k=3}^n\sum_{j=2}^k\sum_{i=1}^j(s_i + s_j + s_k)\times 6 \times p(s_i, s_j, s_k)\\ &= 6 p(s_i, s_j, s_k)\sum_{k=3}^n\sum_{j=2}^k\sum_{i=1}^j(s_i + s_j + s_k) \end{align*} where the $6$ comes from the various orderings of $s_i, s_j, s_k$. Since each element $s_i (i=1,\ldots n)$ has the same probability of being selected, we have $p(s_i, s_j, s_k) = \frac{1}{10\cdot 9\cdot 8}$ for each combination.
Example R Code
compute_expected_value <- function(S){
n <- length(S)
res <- 0
for(i in 3:n){
for(j in 2:(i-1)){
for(k in 1:(j-1)){
res <- res + 6*(S[i] + S[j] + S[k])/10/9/8
}
}
}
return(as.numeric(res))
}
S <- c(0,0,0,0, 22.95, 0,0,0, 19.125,25.5)
compute_expected_value(S)
> 20.2725