Update 2: Post-processing to replace lines with markers works in both version 9 and version 11:
Module[{i = 1, j}, Plot[Evaluate[funcs], {t, 0, 2 Pi}, PlotPoints -> 40,
MaxRecursion -> 0, PlotStyle -> {Red, Green, Blue},
PlotLegends -> LineLegend["Expressions", Joined -> False, LegendMarkers -> markers]] /.
Line[x_] :> (j = i++; (Inset[markers[[j]], #] & /@ x))]

Update: It turns out that, in version 9, the same trick works with PlotStyle
:
Plot[Evaluate[funcs], {t, 0, 2 Pi}, PlotPoints -> 50, MaxRecursion -> 0,
PlotStyle -> (Table[With[{i = i},
Function[w, Map[Function[z, Inset[i, z]], w]] @@ ## &], {i, markers}]),
PlotLegends -> LineLegend["Expressions", Joined -> False, LegendMarkers -> markers]]

Although much cleaner than the MeshStyle
trick in the original answer, unfortunately, this doesn't work in version 11 whereas MeshStyle
trick works in both version 9 and 11.
Original answer:
You can use Mesh
and inject the plot markers into the MeshStyle
setting as follows:
funcs = {t Sin[t] Cos[t], t Sinc[t], Cos[t] Sinc[t] 2 t};
mesh = {20, 20, 30};
colors = ColorData[1, "ColorList"][[;; 3]];
markers = {"A", "B", "\[FilledUpTriangle]"};
Show[Module[{ins = Style[#4, #3, 16]}, Plot[#, {t, 0, 2 Pi}, Mesh -> #2, PlotStyle -> #3,
MeshStyle -> (Function[w, Map[Function[z, Inset[ins, z]], w]] @@ ## &),
PlotLegends -> Row[{ins, #}, Spacer[5]]]] & @@@
Transpose[{funcs, mesh, colors, markers}]]

Change PlotStyle -> #3
to PlotStyle -> None
to remove the lines:
