We spent 2 weeks in Italy in March. On previous travels we've paid for physical sims (vodafone,TIM,Windtre) all were data, text, call with Italian phone number, but currently all options are more than $35. So, this trip, I tried using an ESIM from BNESIM, for data only. I based my decision on this article, https://abrokenbackpack.com/best-europe-esim-providers/#Airalo_eSIM_Eurolink_Plan
Opting for BNESIM because it was very cheap, ~$7 after discount code for 3gb data that doesn't expire. We did get a physical sim card from Vodafone in Florence for my husband's phone, just to cover our bases. I shopped around in Florence and Vodafone and Windtre were a few euro less than TIM. I used my phone the most - almost constantly for the full 2 weeks, when not on hotel wifi, for directions, to look up museum info etc, for whatsapp conversations both back to US and to our hotels, and to make some restaurant reservations. Once or twice I used my husband's phone to call for restaurant reservations. There were only a few times when his phone had better cell service than mine, but we were always in 3 major cities (Florence, Venice, Rome). At the end of the 2 weeks I still have almost 2gb data left for my next trip to Europe in the fall.
Before we left I looked at prepaying for the TIM tourist sim and getting the voucher (25euro vs 37 euro onsite?) I am glad I didn't go that route because I walked into 2 different TIM stores in Florence, one said they wouldn't have been able to accept the voucher (not a full TIM store?) and the other said they could have, but all of their computers were down and I would have to come back. That voucher was for a physical sim, I don't know if I would have had the same response if I ordered an ESIM.
BNESIM and other companies from that article do have options for also buying a virtual phone number, but that seemed a little more complicated than I wanted to try. My sister is traveling next month and may try to get a virtual phone number from BNESIM for Italy.
Hope this helps.