Setting a time limit is realistic, because as our pediatrician said, she won't have unlimited time to eat in preschool or kindergarten. Also, since it's best for the family to sit down to meals together, at least once a day, (per the experts) it takes too much time away from you being able to spend with the rest of the family to have to sit there 3+ hours a day.
I had to take my daughter's plate away almost full many times after 30 minutes, even though I would remind her it was time to take a bite, chew or swallow during that time. She did eventually get the idea and began to eat the things she liked best first, and when she started preschool at 3 she almost instantly learned to eat more quickly, teacher didn't have time to sit there, either!
Also, make sure if you give her snacks you give her one or two of the foods she would be offered at her meals, rather than a cookie, etc. That way she'll still get some the nutrients and food you want her to have.