The real sound for "y" is pretty much the same as the English one, like in NY. However, you may hear some people pronouning it like "J", and that's fine. Take into account that spaniards don't really have the sound "J". Instead, they pronounce the letter j with what you call "that kh sound" /χ/. Thus, pronouncing Y or J makes little difference, so you can often hear any of the two. What's more, I'd say that you can hear the whole range of intermediate sounds.
As for LL, it is meant to represent the /ʎ/ sound, but some variants can be /ʝ/. In some others, like Argentina, it can directly be more similar to "sh".
And, to complicate it a bit more, many dialects have led "Y" and "LL" to have the very same sound, so they might be undistinguishable. This is called "yeísmo" (yeism), a phenomenon consisting in the pronounication of "LL" similarly to Y (ye).
None of these variations is a big problem, since the sounds are not easily confused with any other sound, and, if they are, the rest of the word tells you the correct one. For example, "EJA" can only be "ella", because "eya" simply doesn't exist. In cases where both words exist, the context is the key. For example: "cayó" (he fell) vs. "calló" (he shut up). The context gives you the clue.