I think I may have left a vital piece of information out.
The valve is 24vAC powered. The 0-10v is just a signal, I don’t think the current draw is very high…
The 0-10v input expects to see a DC input not a DC PWM. So I can’t just give it a 0-10v PWM signal.
Well there’s always the possibility to use some sort of DAC (digital to analog converter). You’d be looking for one that will accept 5 V logic level inputs (something that mentions the input(s) being “CMOS” or “DTL” compatible will usually work). On many DAC’s the output range is set by the difference in voltage between two supply pins (often named something similar to “V+” or “VCC” and “V-” or “VEE”, respectively) and a supply range of > 10 VDC (i.e. the higher voltage being 10 VDC or more above the lower) is fairly common. Since this is just a control signal you won’t a need high current on the output either, so if the ICs are listed by maximum power dissipation (this will be the power the chip takes to run plus the power of the output signal) you wouldn’t need more than a few hundred mW.
However, another consideration will be how the Arduino interfaces with the DAC. A fast and often cheaper way to interface would be in parallel, but you’d need a pin for each bit of the resolution (i.e. 8-bit resolution requires 8 pins) and while you might not need anything more than 8 to 10 bits that’s ties up a big chunk of your Arduino’s I/O if done in parallel. There are also DACs that can receive the digital signal serially, either on a very simple two wire bus (one for the signal and one for the Arduino’s clock) or using one of the standard bus protocols like SPI or I2C.
Either way this will likely be somewhat more expensive (for low volume orders)than the other options suggested. While some DACs can get around $50.00 each , the ones you’d be using would be more like a few dollars a piece. Still that could be more for a single component than the total component cost for other options. Here’s an example of one of the more inexpensive 8-bit DACs you could use (at least in a through-hole package), on Digikey it’s ~$1.60 a piece, but notice it requires parallel input for the digital signal.